캐싱의 주요 목적 중 하나는 리소스를 절약하는 것이고 요청할 때마다 데이터베이스에 영향을주지 않는 것입니다. 이것에 비추어 볼 때, 나는 모든 Codeigniter가 컨트롤러에서 cache()
문을 만날 때 혼란 스럽습니다. 예를 들어Codeigniter 출력 캐시 : 호출 된 컨트롤러 함수의 어떤 부분이 실행됩니까?
:
$this->output->cache(5);
$data=$this->main_model->get_data_from_database();
$this->load->view("main/index", $data);
내가 캐시 main/index
html 파일이 다음 5 분 동안 표시되지만이 오분 동안 컨트롤러가 여전히 get_data_from_database()
단계를 실행 실현? 아니면 그냥 건너 뛰겠습니까?
참고 : the Codeigniter documentation은 컨트롤러 기능의 어느 곳에서나 cache()
문을 넣을 수 있다고 말합니다. 이는 실행되는 것에 대해 더욱 혼란스럽게합니다.
예. 프로필러는 한 번만 사용할 수 있습니다. 얼마나 도움이 될지 모르겠습니다. 큰 문제는'cache'가 활성화되었을 때 ** 2nd ** 시도에서 어떤 일이 일어나고 있는지를 아는 것입니다. –
실제로. 가장 좋은 해결책은'get_data_from_database();'메서드 내에서'log_message ('info', 'message');를 사용하는 것입니다. – Irimia