![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
info
pobierz Prezentuje moją nową klasę Cache. Jak nazwa wskazuje klasa służy do zarządania cachem. Do cache'u można wkładac stringi, tablice, liczby, obiekty. Dany obiekt cache'u należy zawsze do jakiejś grupy lub do kilku grup. Gdy nie podamy grupy, obiekt trafi do grupy domyślnej. Obiekty w cache'u mają swoją żywotność, którą można regulować według własnych potrzeb. Obiekty moga byc wazne przez sekundy, minuty, godziny, dni itp... Dodatkowo można uzależnic obiekt od pliku zewnetrznego bądź też od kilku plikow. Cache straci wowczas swoją waznosc, gdy w danym pliku zewnetrznym pojawią sie jakies zmiany. Uzależnienie obiektu od kilku plikow moze byc przydatne, gdy np. tworzymy obiekt na podstawie kilku plikow xml. Nazwy obiektów mogą byc rownież hashowane. Ma to powiedzmy zastosowanie przy cacheowaniu zapytan. Zamiast nazwy "select * from tabela order by alamakota", pojawi nam sie ladny hash (IMG:style_emoticons/default/smile.gif) Czyszczenie cache odbywa sie na 4 sposoby: 1) wyczyszczenie calego cache'u 2) skasowanie wybranego(ych) obiektu(ow) 3) wyczyszczenie wybranej (ych) grupy 4) obiekt traci swoją ważność Zapraszam do używania, testowania i zgłaszania ewentualnych uwag/błędów. edit: począwszy od wersji 1.2 Cache dziala na zasadzie sterownikow I/O. Wraz z paczką dołączony jest sterownik działający na plikach oraz sterownik operujacy na pamieci, przez co obsluga Cache jest jeszcze szybsza. Dodana zostala suma kotrolna, mająca swoje zastosowanie szczegolnie przy operacjach na pamieci. edit (2006-09-08): No i jest Cache ver. 2.0 Czemu taki przeskok w numeracji? Ano odszedlem "troche" od sposobu konfiguracji cache. Wczesniej, aby moc dzialac na plikach i na pamieci trzeba bylo definiowac dwa obiekty Cache. Teraz mozliwe jest zdefiniowanie kilku sterownikow dla jednego obiektu Cache. Wprowadzilem przymus definiowania grup (domyslnie definiowana jest jedna grupa jesli komus przymus nie odpowiada (IMG:style_emoticons/default/winksmiley.jpg) ). Dzieki takiemu zastosowaniu mozna parametryzowac grupy, a co za tym idzie obiekty do nich przypisane. Mozna dla grupy okreslic jakie sterownik ma ja obslugiwac, jej czas zycia, sprawdzanie sumy, hashowanie i inne. Jesli w jakiejs chwili nam sie odmienia, ze configi zamiast na dysku maja byc zapisywane w pamieci, wystarczy wowczas tylko zmienic sterownik dla grupy, bez latania po wszystkich obiektach i zmieniania. Oczywiscie mozna zdefiniowac czas zycia obiektu w cache tylko dla niego, nadpisujac w ten sposob parametry grupy. Teraz by pobrac obiekt z cache trzeba okreslic do jakiej grupy nalezy. Wczesniej tego nie trzeba bylo robic. No ale jest to niezbedne by zaladowac chociazby odpowiedni sterownik do obslugi obiektu. Oczywiscie jak sie nie poda tego parametru, zaczytana zostanie grupa domyslna. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat A czy jest możliwość aby zrobić żeby pobierało nowe komentarze ale dopiero wtedy kiedy coś dodał nowy?? A nie po upływie pewnego czasu. Oczywiscie. Jak ktos doda komentarz, wowczas czyscisz cache. Czyscisz albo caly cache, albo tylko grupe do ktorej naleza komenty, albo tylko dany cache, ktory trzyma komenty. Do wyboru do koloru (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Metody za to odpowiedzialne to bodajze metody z rodziny Clear... Nie pamietam dokladnie nazw bo nie mam akurat klasy przed soba |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 19:52 |