Podręcznik użytkownika CodeIgniter wersja 2.2.1


Buforowanie treści - Caching

CodeIgniter pozwala buforować treść dla zwiekszenia wydajności skryptów.

Choć CodeIgniter jest szybki to warto pamiętać, że wydajność twojej aplikacji będzie uzależniona od złożoności i jakości kodu, a przede wszystkim od wydajności serwera. Poprzez proces buforowania generowanych dynamicznie treści możliwe jest ich zapisywanie w stanie wygenerowanym tj finalnym. Tak zapisane dane mogą być oferowane odbiorcom pomijając tym samym wielokrotne powtarzanie procesu generowania treści każdemu z nich. Buforowanie pozwala na zwieszanie wydajności niemal do poziomu stron statycznych.

Jak działa Buforowanie?

Buforowanie może zostać uaktywnione dla każdej z podstron jednocześnie mając określony czas następnego odświeżenia pliku bufora. Kiedy strona zostanie załadowana pierwszy raz plik bufora zostanie zapisany w folderze application/cache. Następne załadowania strony będą używały owego pliku by wyświetlić daną treść strony. Jeśli czas odświeżenia bufora zostanie osiągnięty to plik buforowania zostanie nadpisany.

Nota: Znacznik wydajności - Benchmark - nie jest buforowany więc możliwe jest określenie szybkości wywołania nawet z włączonym buforowaniem.

Włączenie buforowania

By włączyć buforowanie należy umieścić poniższy znacznik w metodzie kontrolera:

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

Zmienna n jest ilością minut wyrażająca czas odświeżenia pliku bufora.

Powyższy znacznik może być umieszczony gdziekolwiek w metodzie kontrolera tj. najlogiczniejszym, wybranym przez programistę miejscu. Po umieszczeniu znacznika rozpocznie się buforowanie strony.

Ostrzeżenie: Przez sposób w jaki CodeIgniter magazynuje dane, buforowanie będzie działać tylko z użyciem 'widoku'.

Nota: Zanim pliki bufora mogą być zapisane musisz nadać folderowi application/cache uprawnienia zapisu.

Usuwanie plików bufora

Jeśli nie chcesz już buforować wybranej treści usuń znacznik, a plik buforowania nie będzie dłużej odświeżany. Usunięcie znacznika nie usunie pliku natychmiastowo. Będzie musiał się przedawnić w normalny sposób.

Nota: Jeśli musisz usunąć go natychmiast musisz to zrobić ręcznie lub pisząc stosowną instrukcję.