CI 묻고 답하기

제목 초반에 한번만 db에서 값을 불러오는 방법
글쓴이 델리카토 작성시각 2014/07/03 20:35:10
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 15725   RSS
안녕하십니까?

공부중에 궁금한것이 있어서 이렇게 염치 불구하고 질문을 드립니다.

다른게 아니라, 초반에 단 한번만 db에서 값을 불러와서 전역 변수로 배열을 저장하고, 다음부터는 전역변수를 사용하는 방법에 대한 궁금함입니다.

예를 들어 홈페이지의 정보(footer 하단에 들어가는 홈페이지 혹은 회사의 정보)를 DB에 저장한다고 할때, 페이지를 호출 할때마다 DB에서 불러오는 것이 아니라, 최초 한번만 불러오고 그다음부터는 전역 변수를 사용해서 불러오고 싶을때 어떻게 해야 하는가에 대한 의문입니다.

쿠키나 세션을 사용하긴 좀 아닌것 같고... 뭔가 방법이 있을 것 같은데...

혹시 이런 방법을 알고 계시면 알려주실 수 있을 까요??

감사합니다.
 다음글 file upload에서 overwrite와 encry... (2)
 이전글 ci 설치 어케 하는건가요?ㅠㅠ (6)

댓글

taegon / 2014/07/03 23:28:57 / 추천 0
데이터베이스 캐시를 이용해 보심은 어떤지요?

http://www.codeigniter-kr.org/user_guide_2.1.0/database/caching.html
 
한대승(불의회상) / 2014/07/04 10:32:12 / 추천 0
2.1.4 및 2.2.0 의 디비 캐싱 버그가 아직 수정되지 않은것 같습니다.
아래 참고 하세요.
http://cikorea.net/tip/view/1351/page/2/
 
변종원(웅파) / 2014/07/04 11:09:57 / 추천 0
http://cikorea.net/tip/view/104/

참고하세요. 

말씀하신 부하분산(?) 구현입니다. 설정페이지에서 db에 저장을 하고 그 내용을 xml이나 json형태로 파일로 저장을 한후
ci가 로딩될때 그 내용을 읽어서 상수로 지정하여 쓰는 방법입니다. 
전역변수로도 가능합니다. (매뉴얼 참고)
슘님 / 2014/07/04 11:14:33 / 추천 0
전역 변수로 사용하실 때 전역 변수가 작용해야할 layer가
application layer인지, session layer인지, page layer인지에 대한 고민도 필요하나
위의 상황은 application layer로 할지, session layer로 할지 결정하시면 될 것 같습니다.

application layer로 본다면...웹서버 최초 구동 시 DB데이터를 파일로 저장해 두고 사용
혹은 session layer로 본다면...웹사이트 접근 시 마다 간단하게 세션에 저장하심이 제일 간단하지 않을까 싶네요.
세션이나 쿠키를 사용하시지 않는 이유가 있으신지요? (세션 memory capacity 등...)