Jakiś czas temu stworzyłem prostą klasę do pobierania kursów walut z NBP. Dla przyśpieszenia działania i odciążenia serwerów NBP wykorzystuje ona Zend_Cache do przechowywania danych po pobraniu. Niestety, ostatnio kilka razy zdarzyła się sytuacja że cache się już przeterminował, trzeba pobrać nowe dane a… serwer NBP odpowiada błędem. I wszyscy są wściekli. Pracownicy, bo nie mogą pracować, szefostwo, bo pracownicy nie pracują, oraz ja bo muszę tłumaczyć że nie mam na to wpływu… Jak się jednak okazało – mam
Posts Tagged ‘cache’
Wykorzystanie “przeterminowanego” cache w ZF na przykładzie kursów walut z NBP
piątek, Maj 29th, 2009Smarty – dynamiczne a zarazem cacheowane szablony
sobota, Listopad 15th, 2008Dzisiaj odgrzewany kotlet, ale nadal wiele osób korzysta z Smarty i może im się to przydać.
Wiele osób korzystających z Smarty’ego używa go tylko jako systemu szablonów do separacji kodu PHP od HTML. Dużo mniej osób zdaje sobie natomiast sprawę z jego rozbudowanego mechanizmu cache i potencjału jaki w nim drzemie.
Zapewne dla wielu osób jednym z większych braków Smarty’ego jest możliwość określenia czasu trzymania cache (cache_lifetime) dla poszczególnych plików szablonów. Normalne włączenie cache i ustawienie jakiegoś cache_lifetime sprawia że strona traci swoją dynamiczność a przy bardziej rozbudowanych projektach potrafią się dziać „cuda” gdy na przykład po zalogowaniu wciąż pokazuje nam się formularz logowania zamiast profil użytkownika. Poniżej postaram się przedstawić swój pomysł na ominięcie tego efektu, a przy okazji często znaczne przyśpieszenie działania całego serwisu i ograniczenie ilości przetwarzanych danych.
Zend Cache
czwartek, Listopad 13th, 2008Przy pracy nad serwisami o dużym obciążeniu bardzo ważną sprawą jest optymalizacja i keszowanie danych. Zend_Cache na szczęście wybitnie nam w tym pomaga, a od wersji 1.7 dodatkowo oferuje kilka ciekawych nowości.
Zacznijmy od Zend_Cache_Backend_TwoLevels – dzięki niemu w prosty sposób można połączyć zalety szybkich mechanizmów cache bazujących na pamięci (Memcache, APC), keszów stałych (pliki, baza danych), oraz pozwala na używanie wygodnego i potężnego mechanizmu tagowania w połączeniu backendami pamięciowymi które natywnie nie mają wsparcia dla tagów.