웹페이지 캐싱 Web Page Caching

성능의 극대화를 위해 CodeIgniter 는 여러분의 페이지를 캐싱할 수 있도록 합니다.

비록 CodeIgniter 가 대단히 빠르긴 하지만, 페이지에 표시하고자 하는 동적 정보들이 서버의 리소스,메모리,처리사이클등과 직접적으로 연관되어있기 때문에 페이지 로드 속도에 영향을 미칩니다. 페이지를 캐싱함으로써 거의 정적 html 만큼 성능을 향상 시킬 수 있습니다.

캐싱은 어떻게 작동하나요?

캐싱은 페이지 단위로 활성화 시킬수 있으며, 캐시가 얼마동안 존재하고 리프레쉬 될지 설정할 수 있습니다. 페이지가 처음으로 로드되면 캐시 파일은 application/cache 폴더에 작성됩니다. 이후에 같은 페이지가 요청되면 캐시 파일이 브라우저로 전송됩니다. 캐시 파일 존재시한이 지나면 캐시는 삭제되고 다시 작성될것입니다. Note: 벤치마크 태그는 캐시 되지않으므로 캐시가 활성(enable)화 된 상태에서도 페이지 로드 속도를 보실 수 있습니다.

캐싱 활성화

T캐시를 활성화 하려면 아래의 코드를 컨트롤러에서 원하는 위치에 삽입하세요:

$this->output->cache($n);

$n n 은 캐시가 존재할 시간(리프레쉬 주기)을 단위로 설정하는 값입니다.

위 테그는 어떤 함수 안에서도 쓸 수 있습니다. 순서에 상관이 없으므로 논리적으로 맞는 위치에 삽입하시면 됩니다. 위 태그가 삽입되면 여러분의 페이지는 캐싱 될것입니다.

Important

캐싱은 컨트롤러와 뷰(view)를 같이 사용하여 페이지를 작성할 때만 작동합니다.

Important

만약에 설정 옵션을 바꾸시게 되면, 그 결과에 영향을 끼칩니다. 그래서 당신의 캐시 파일을 강제로 삭제하셔야 합니다.

Note

application/cache/ 폴더에 반드시 쓰기 권한이 있어야 합니다.

캐시 삭제

캐시가 더이상 필요없으면 캐시태그를 삭제하므로서 제거할 수 있습니다. 캐시태그가 삭제되면 리프레쉬 주기가 돌아왔을 때 기존 캐시를 삭제한 후 다시 생성하지 않을것입니다.

Note

캐시 태그를 삭제한다고 해서 캐시 파일이 즉시 삭제되지는 않습니다. 즉시 삭제를 원하시면 캐시폴더에 있는 캐시 파일을 직접 삭제하셔야 합니다.

캐시 파일을 강제로 삭제하고 싶으시다면, delete_cache() 함수를 사용하실 수 있습니다 :

// Deletes cache for the currently requested URI
$this->output->delete_cache();

// Deletes cache for /foo/bar
$this->output->delete_cache('/foo/bar');