Generalnie cache służy do przyspieszenia generowania strony oraz do zmniejszenia obciążenia systemu.
Często stosuje się go do "zapamiętywania" wyników zapytań,np:
Załóżmy, że na stronie głównej wyświetlasz 5 najnowszych newsów, 5 najnowszych odpowiedzi na forum. Nie ma sensu za każdym razem po te informacje lecieć do bazy danych. Możesz po te informacje polecieć raz, a następnie zapamiętać je, czyli włożyć do cache. Gdy dane już są zapamiętane, to nie lecisz już po nie do bazy, ale pobierasz je z cache. Z założenia pobranie danych z cache jest szybsze niż z bazy danych. Oczywiście przy małych ruchu, przy małej liczbie rekordów można nie zauwazyć tego, że cache jest lepszy, ale jest
Należy pamiętać o tym, by raz na jakiś czas cache czyścic, by dane w nim zawarte były w miarę świeże. Można to robić co jakiś czas, np co 10 minut, można to robić gdy dodasz jakiś news, wówczas czyścisz cache newsów, itp.
Przykładowo strona główna mego bloga wszystkie kontrolki ma w cache, przez co dopóki nie pojawi się nic nowego, to strona główna ani razu nie leci do bazy. Czyli nawet jakby padła mi baza na pare minut, to strona główna będzie się wyswietlac poprawnie.
Innym przykładem jest np. przechowywanie konfiguracji. Załóżmy, że konfigurację systemu trzymasz w pliku xml. Analiza pliku xml jest czasochłonna, a już napewno bardziej czasochłonna, niż odczytanie zwykłej tablicy php. I tutaj własnie przyda sie cache - po wczytaniu konfiguracji xml do tablicy php, zapisujesz to do cache i następnym razem czytasz już z cache a nie pliku xml. No i taki cache również czyścisz np. co dzien, gdyż raczej konfiguracja systemu nie zmienia się co 10 minut. A możesz ten cache czyścic np. wtedy gdy zmieni się plik xml.
W cache możesz też trzymać jakieś wyniki skomplikowanych operacji, czy złożonego wyświetlania. Należy pamiętać by mieć umiar i starać się umiejętnie go używać - ta wiedza przychodzi z czasem.
Jest wiele klas to obsługi cache - warto z nich skorzystać, gdyż wnoszą funkcjonalność o którą ty się nie musisz martwić: wkładasz coś do cache, mowisz ile czasu to jest ważne i klasa sama tym zarządza.
Jednym z moich projektów jest właśnie cache, więc jak masz ochotę to możesz skorzystać
cache
Acha, cache może być przechowywany w różnych miejscach: dysk (pliki), pamięć, czy nawet baza danych (wiem, dziwnie to brzmi

).