2009-12-24 2 views
1

저는 현재 꽤 많은 세션을 사용하고 있으며 현재 네트워크 사이트를 다시 코딩하고 있습니다. 내가 한 일은 몇 가지 간단한 메서드가있는 세션 클래스로 만들어졌습니다. 예를 들어 여기에 클래스를 사용하여 세션 데이터를 검색하는 방법이 있습니다.해야 할 필요가 없다면 여러 번 메소드를 호출해야합니까?

$session = new Session(); 

// to set a session I would use this 
echo $session->set('user_id'); 

// to view a session's data 
echo $session->get('user_id'); 

지금이 basicly 내가이 세션 클래스를 통해 실행 제외 세션 변수를 보는 일반적인 방법을 설정하는 것과 같습니다, 내가 가지고있는 목적은보다 유연하게하는 것입니다. 모든 세션 데이터가 큰 사이트의 해당 클래스를 통해 실행 되었다면 캐시 또는 Memcache를 사용하는 소스 또는 데이터베이스를 변경하기 위해해야 ​​할 일은 세션 클래스 파일 만 변경하는 것입니다.

사실 현실적으로 나는 현재 세션 데이터를 위해 클래스/메소드를 사용하는 데별로 이득이 없지만 언젠가는 그렇게 할 수 있습니다.

제 질문은 트래픽이 많은 사이트에서 세션 데이터를 표시 할 때마다 여분의 메소드/클래스 호출을하지 않는 것이 좋습니다.

답변

0

당신은 내가 개인적으로 사용하는 프레임 워크 인 젠드 프레임 워크 중 하나 인 여러 프레임 워크에 예시 된 패턴을 사용하고 있습니다.

최적화에 대한 의견이 정확합니다. 세션의 성능에 영향을 미칠 수있는 부분이 너무 작아 결국 문제가되지 않을 수 있습니다. 세션 클래스를 사용하면 여러 가지 이점을 얻을 수 있으며 프레임 워크는 세션 객체의 일반적인 사용과는 달리 함수를 통한 간단한 세션 액세스를 통해 명확하게 나타낼 수 있습니다.

감사합니다.

1

조숙하게 최적화하지 마십시오. 한 번에 초를 소모하는 비 효율성 또는 알고리즘 문제가 발생할 가능성이 있으므로 여기 또는 여기에 밀리 초를 절약하는 것에 대해 걱정하지 마십시오.

+2

가끔 내 여자 친구가 나를 조기에 최적화한다고 비난합니다. :) –

+0

나는 이것이 일반적으로 다름을 알고 있으며, 더 많은 일을해야하지만, 나는이 사이트를 코딩하여 2 년 이상 그것을 최적화하고 모든 밀리 세컨드는 높은 교통 환경을 추가한다. 나는 현재 대부분의 작업을 다시 코딩하고 있으며 함수 호출이 약간 성능에 영향을 미친다고 들었지만 클래스/메소드를 처음 사용하기 때문에 일반적으로 클래스의 성능에 대해 확신하지 못했습니다. 도움말 주셔서 감사합니다. – JasonDavis

0

괜찮습니다. 요청이 지속되는 동안 캐시 될 수있는 데이터에 정적 또는 기타 영구 변수를 사용하려고하지만 일반적으로 고성능 사이트에서 백엔드 코드는 일반적으로 걱정할 것이 아닙니다.

this article에서 백엔드 성능을 확인하십시오.

관련 문제