PHP - Cache informacji z bazy danych

DZIAŁANIE: brak działania....

Kod:

Programowanie Obiektowe PHP cache, cacheowanie danych w PHP

Ewentualne Objaśnienia:

Zapewne Cache kojarzy się Wam z jakąś pamięcią podręczną - bardzo słusznie. Cache na stronach Internetowych bardzo się przydaje - zwłaszcza jeżeli nasz serwis ma sporą oglądalność. Przypuśćmy, że na naszej stronie głównej wyświetlamy spis jakiś tematów wraz z miniaturką, listą postów w temacie... to taki przykład. Powiedzmy, że taki spis to bardzo długa lista, a każde pobranie to jakieś bardziej złożone zapytanie SQL. Jeżeli nasza strona ma dużą oglądalność to każdy użytkownik jaki wejdzie na nią powoduje generowanie tej listy. Nie trudno zauważyć, że jest to pewne obciążenie, marnowanie transferu - ale przede wszystkim warto pamiętać, że niektóre konta WWW posiadają limity ilości zapytań do bazy na godzinę (np. nazwa.pl.....) . Bardzo łatwo więc sobie narobić szkody ;)

Dlatego warto używać cache - konkretne dane nie będą wówczas ładowane za każdym razem z bazy danych tylko z zapisanej lokalizacji (pliku). Oczywiście możemy, a wręcz musimy jeśli chcemy aby nasi odwiedzający zawsze mieli aktualny np. wspomniany spis - zaprogramować czyszczenie takiego cache'u po dodaniu nowych danych do bazy. Również można po prostu ustawić Cron'a, aby przykładowo co 2 godziny czyścił cały czy też pewną część pamięci cache.

Przedstawiony przykład jest bardzo prostym sposobem na cache - nie sądzę, że jest zły lecz nie jest idealny. Jego wadą jest choćby praktycznie cache'wanie danych wraz z warstwą widoku (prostym językiem mówiąc cały html z zawartością). O wiele lepiej cache'ować same dane, które potem można wczytać i dalej przekazać do jakiegoś widoku. Przydałoby się również kilka funkcji czy też ulepszenie funkcji związanej z czyszczeniem (delete). Więc nie uważam, że jest to przykład najwyższych lotów - ale nie takie było moje zamierzenie, raczej chciałem przedstawić ideę stworzenia "czegoś takiego". Jeśli to zrozumiesz to łatwo możesz sobie to rozwijać, a sam przykład oczywiście nie jest bezużyteczny i zawsze można skorzystać.