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ę.