2009-11-22 3 views
0

세션에 2-3 개의 추가 변수를 저장할 때 성능 문제는 무엇입니까 ?? 에 대한 :세션에 더 많은 변수를 저장하면 어떤 결과가 발생합니까?

  1. 1-2 쿼리 (페이지로드 당)를 저장 하시겠습니까?

  2. 코드를 더 간단하게 만드시겠습니까? 웹 사이트에

히트 율은

편집 @all 내가 이야기 2-3 세션 변수 ... 번호와 같은 간단한 값을 해요 .. 정상입니다, IDS 등

답변

0

세션을 사용하는 PHP 스크립트/페이지에 액세스 할 때마다 세션 데이터를 읽어야합니다. 기본적으로 해당 데이터는 파일로 디스크에 저장됩니다 (예 : 데이터를 무시하고 데이터베이스 사용)

기본적으로 모든 페이지로드시 일부 세션 데이터를 읽어야합니다. PHP가 작성한 것 같습니다. 세션에 저장할 데이터가 많을수록 세션 파일이 커집니다.

몇 개의 변수 만 저장하면 문제가 없습니다. 그러나 거대한 배열과 같은 것을 저장하기 시작하면 적중률이 증가하면 문제가 발생합니다.

- 당신이 세션에서 가능한 한 많은 데이터를 저장하여 "간단하게 코드를 유지"하려면

대신 더 많은 문제를 만들 수 있습니다. 예를 들어, 향후에 API 액세스를 사용하려면 많은 세션 데이터 저장/검색 코드를 제거하고 다른 메소드로 대체해야 할 수 있습니다.

-

문제에 관련이있을 수 있습니다 : 당신은 당신이 그것을 계산하지 않아도 세션에서 글로벌 애플리케이션 상태의 일종을 저장하려면

것은 사용한다 세션이 아닌 다른 캐싱 메소드.

0

있을 wouldnt가 성능 문제. 세션에서 객체와 변수를 저장할 수 있으며 성능 저하를 유발하지 않습니다.

0

실제로 성능이 현저히 저축되는 것처럼 보입니다. 이 값이 단순한 문자열이나 숫자, 또는 작은 배열이나 객체 일지라도 이것이 더 나은 선택이 될 것입니다. 그러나 수천 개의 키 => 값 쌍이있는 배열을 저장하는 경우 주어진 상황에서 필요할 지 여부에 따라 쿼리를 다시 실행하는 것이 좋습니다.

새로 고침 할 때마다 세션 변수에 저장된 각 개체의 생성자가 실행됩니다. 큰 물건 = 무거운 하중.

0

실용적인 것보다 성능에 대한 질문이 많지 않습니다. 귀하의 질문을 읽고 당신이 거대한 배열을 세션에 저장하는 것을 고려하지 않는다는 것이 저에게 명백합니다.

다른 사용자의 일부 동작이 현재 세션에 저장된 값, 즉 사용자가 액세스 할 수 있고 액세스 할 수없는 것을 나타내는 bool 배열에 영향을 주어야 할 때 문제가 발생합니다.세션에 캐시 된 것을 사용하면 해지 권한이 비실용적입니다.

불변으로 간주되거나 현재 사용자의 작업 (즉, 사용자 이름 변경)으로 쉽게 다시 설정할 수있는 문자열과 값을 저장하지 않아도됩니다.

관련 문제