2011-04-19 5 views
1

CodeIgniter가 세션을 처리하는 방법을 읽은 후에 세션이 데이터베이스에 저장되고 검색되도록 구성 될 때 성능에 영향을 미칠 수 있습니다.CodeIgniter 세션 클래스를 사용할 때 과도한 데이터베이스로드가 발생합니까?

이것은 CI 문서에서 가져온 것입니다. "세션 데이터가 데이터베이스에서 사용 가능할 때마다 유효한 세션이 사용자의 쿠키에서 발견 될 때마다 일치하는 데이터베이스 쿼리가 수행됩니다."

그래서 모든 AJAX 호출에서 요청한 모든 HTML 조각에 오버 헤드가 발생합니까? 이것은 확장하려는 시스템에 잠재적으로 큰 문제가됩니다!

CI는 세션 레코드에서 인코딩 할 때 sessionID + 타임 스탬프를 모두 포함하도록 MD5 해시를 포함하는 것이 좋습니다. 그런 다음 sessionID가 재생성 될 때마다 X 분마다 세션 레코드에 대한 데이터베이스 만 확인하십시오. 내가 놓친 게 있니?

+0

을 세션 헤더가 XmlHttpRequests와 함께 게시됩니까? –

답변

0

AJAX 요청에 MY_Controller 대신 Ajax_Controller와 같은 다른 컨트롤러를 사용할 수 있습니다. MY_Controller는 Session 클래스를로드하지만 Ajax_Controller는로드하지 않습니다. 그런 식으로 AJAX를 호출하면 세션 데이터에 손을 대지 않으므로 필요하지 않은 데이터베이스에 잘못된 호출을하지 않습니다.

Session 클래스를 자동로드하는 경우 AJAX 요청에 대해 세션 클래스를 언로드 할 수 있습니까? 여기에 대해 http://codeigniter.com/forums/viewthread/65191/#320552 다음이

처럼 뭔가를 나는 그것을 시도 적이 있지만 이야기라면 ($ this-> 입력 -> is_ajax_request()) { // 클래스 코드는 여기 간다 세션을 언로드}

관련 문제