CI 묻고 답하기

제목 session을 db로 사용하는것과 database autoload관계
글쓴이 태양이 작성시각 2011/02/18 11:33:04
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 23298   RSS

 

database를 load하지도 않았는데,
db쿼리가  잘 수행 되길래 이상해서 코드를 분석하다 보니 발견한 사항입니다.



applicaton/config/config.php 에서
세션을 db로 저장하여 사용하는 부분이 있습니다.

...
$config['sess_use_database'] = true; // true로 해 주면,  db로 세션을 저장하는 것이 잘 됩니다.
...


의아한 것은 이부분을 true로 해 주고 나면, database를 autoload 한 것과 동일한 효과가 난다는 것이지요

         // autoload.php 파일
         $autoload['libraries'] = array('database'); 

         이 효과가 난다는 것이지요



메뉴얼 http://codeigniter-kr.org/user_guide/libraries/sessions.html 요기에
다음과 같이 적혀 있긴 한데..


참고: 기본값으로 테이블명은 ci_sessions입니다. 원하는 이름으로 바꾸려면application/config/config.php 파일을 업데이트 하시면됩니다. 테이블이 생성되면 config.php 파일을 아래와 같이 수정하여 , 데이터베이스 옵션을 활성화 시킬수 있습니다:


여기서,  "데이터베이스 옵션을 활성화" 라는 말이
이게 세션을 db에 저장하면 database를 autoload한 효과가 난다는 의미로 보면 될까요?

만약 그렇다면 db에 세션저장하는것은 무조껀 db연결이 되어버리니
좀 주의 해서 사용해야 될것 같아서요.



 

 다음글 mssql 연결해서 사용시에 limit 문제 (2)
 이전글 form에서 set_value로 value 복원시 한글... (2)

댓글

변종원(웅파) / 2011/02/18 13:17:52 / 추천 0
세션 라이브러리에서 $config['sess_use_database']가 TRUE 일 경우 
자동으로 database() 를 로딩합니다.

세션이 우선이라서요.
태양이 / 2011/02/18 18:47:36 / 추천 0
넵, 웅파님 답변 감사합니다.
코드이그나이터의 구석 구석 모르시는게 없군요.