Post
#1
|
|
|
Grupa: Moderatorzy Postów: 36 561 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: Zarejestrowani Postów: 254 Pomógł: 3 Dołączył: 23.02.2006 Ostrzeżenie: (0%)
|
A jak powinien wyglądać kod usuwający cache 'kalendarz' z grupy @queries?
czy wystarczy:
tak sobie pomyślałem że może bym sobie to wrzucił w plik i wykonywał co określony czas z crona? Ten post edytował @rtur 10.05.2011, 07:32:27 |
|
|
|
nospor Cache 5.07.2006, 18:32:33
NetJaro Gratulacje!
Ładny skrypt, podoba mi się cache... 5.07.2006, 18:45:27
nospor Cytatpodoba mi się cache plików zewnętrznych Tę op... 5.07.2006, 18:52:51
orson witam ...
szkoda że tylko pliki a nie np. apc :/ ... 5.07.2006, 21:59:23
bigZbig @nospor - pozwolilem sobie uruchomic ten przyklad ... 14.07.2006, 14:33:50
nospor CytatZrezygnuj z ostrzeżen na rzecz wyjatkow.... 14.07.2006, 15:09:02
bigZbig Odpalilem raz skrypt potem odswierzylem widok i zo... 14.07.2006, 15:34:28
nospor CytatCo do rzucania wyjatkow z byle powodu. To fak... 14.07.2006, 15:52:15 
bigZbig Cytat(nospor @ 14.07.2006, 16:52 ) Pozaty... 14.07.2006, 16:26:33
nospor hihi, http://pl.php.net/manual/pl/function.seriali... 17.07.2006, 09:43:47
bigZbig Moglbys do tego dopisac hendlery sesji i mialbys w... 17.07.2006, 13:21:47
nospor No dobra, no to jest kolejna wersja.
Poprawki:
- ... 17.07.2006, 15:05:57
Foxer Klasa wygląda bardzo fajnie i tak samo działa, ale... 20.07.2006, 12:20:57
nospor @Foxer a Ty wiesz, ze jak ja pierwszy raz widziale... 20.07.2006, 12:26:47
Foxer Wad również nie widzę, same zalety . Poprostu patr... 20.07.2006, 12:42:25
nospor No i jest ver. 1.2
Na sluszną uwagę nast... 8.09.2006, 19:38:24
gkeb Klasa fajna, nawet bardzo. Zastanawia mnie tylko d... 10.09.2006, 13:56:51
nospor CytatZastanawia mnie tylko dostepnosc u uslugodawc... 11.09.2006, 20:04:58
bigZbig A czy dodanie tych kilku "&" nie pow... 13.09.2006, 08:32:35
nospor CytatA czy dodanie tych kilku "&" ni... 13.09.2006, 08:59:05
maciu super klasa, tylko przydałaby się jeszcze jedna fu... 10.10.2006, 15:38:02
nospor CytatW tej chwili mozna ustawić jeden katalog w ko... 11.10.2006, 09:38:20
bigZbig Wiesz czego mi tu tylko brakuje ? Inerfejsu dla st... 16.10.2006, 14:41:11
nospor CytatInerfejsu dla sterownikówHmmm, rozwin swoj... 16.10.2006, 14:47:12
bigus Mam taką sytuację, mam na stronie możliwość koment... 12.05.2007, 16:18:19
nospor CytatA czy jest możliwość aby zrobi... 12.05.2007, 19:43:10
bigus ok jakoś poszło ale jak chciałem to wykorzystać tu... 12.05.2007, 21:12:07
nospor CytatFatal error: Cannot redeclare class cacheexce... 13.05.2007, 18:30:40
bigus Problem był z ścieżkami;/
dzięki 13.05.2007, 19:51:00
wookieb Chciałbym tutaj napomnieć o cachowaniu danych w pl... 7.02.2009, 16:34:07
rafalp Chciałem przetestować klase @Nospor-a, czy ktoś kt... 11.02.2010, 22:05:35
Agares Sam miałem dużo problemów z Cache, ten skrypt je r... 13.02.2010, 19:23:15
nospor @rafalp wersja co ci wysłałem na maila zawiera mie... 15.02.2010, 20:46:11
holee Witam;
Właśnie próbuje ogarnąć tą klasę i prawdę ... 26.01.2011, 19:53:14
nospor W miejscu
$val = 'tutaj wyniki zapytania... 26.01.2011, 19:56:45
holee Coś takiego ?
Kod$val = $cache->Get... 26.01.2011, 20:04:00
nospor Prawie dobrze.
Nie: $val =
a: $val .=
W... 26.01.2011, 20:06:03
holee @nospor, powoli coś mi się udaje, wielkie dzięki. ... 26.01.2011, 20:56:33
nospor Jakie 3? To ze nadales dla obiektu cache nazwę tak... 26.01.2011, 21:10:34
holee Wszystko działa jak należy. pomogłeś mi wiele zroz... 27.01.2011, 22:58:47
nospor A, to przez to hashowanie
Cała nazwa obiektu ... 28.01.2011, 07:48:29
@rtur Bardzo fajna i pożyteczna klasa, dziękuje.
W plik... 10.05.2011, 00:28:55
nospor Jeśli chcesz kasować cache raz dziennie to za life... 10.05.2011, 06:32:12
nospor W paczce masz podane kody do pobierania danych z c... 10.05.2011, 07:36:05
@rtur Właśnie o ten poniedziałek mi chodzi 10.05.2011, 07:39:03
nospor No to ten cron powinien załatwić sprawę 10.05.2011, 07:41:08
@rtur ale ten kod który podałem wcześniej jest wystarcza... 10.05.2011, 07:51:44
nospor No tak, jak nie zdefiniujesz grupy z której usuwas... 10.05.2011, 07:59:42
@rtur dzięki za podpowiedzi, tak się jeszcze zastanawiam... 10.05.2011, 08:12:16
nospor Nie. cache z opcją day kasuje się dokładnie następ... 10.05.2011, 08:14:16
@rtur Więc chyba pozostaje mi czyszczenie cache imienino... 10.05.2011, 08:29:25
nospor NIe zrozumiałeś totalnie....
Przecież ci tłumaczę,... 10.05.2011, 08:31:56
@rtur Faktycznie, nie zrozumiałem.
to jeszcze spytam o ... 10.05.2011, 10:16:58
nospor Tak, gdy określisz czas w Get() to nadpisze on cza... 10.05.2011, 10:20:51
brayan.tr Czy da się tak ustawić aby Cache ogóle nie było ka... 12.06.2011, 22:18:09
nospor Ustaw za lifetime np. 5 lat. Podejrzewam, że przez... 13.06.2011, 07:18:19
adam882 Bardzo fajna klasa Mam jednak problem z grupą ... 28.12.2011, 09:27:50
nospor yyyy, mysql_query() czy mysql_fetch_array()? Do ca... 28.12.2011, 09:30:01
adam882 chyba źle sprecyzowałem pytanie, ale dzięki za wła... 28.12.2011, 09:48:57
xxdrago nospor, czy ta klasa nadawała by się do trzymania ... 29.12.2011, 10:41:48
nospor W cache trzyma się dane, które przez dany okres cz... 29.12.2011, 10:48:28
adam882 Mam problem z klasą.
Mianowicie zrobiłem sobie sy... 30.12.2011, 08:53:14
nospor Jeśli jako ścieżkę do katalogu podajesz tak: Cache... 30.12.2011, 09:00:34
adam882 W jaki sposób można to zrobić?
Modyfikując kod:
[... 30.12.2011, 09:06:03
nospor Albo podajesz złą ścieżkę
Albo skrypt nie ma prawa... 30.12.2011, 09:10:03
adam882 Wydaje mi się, że problem leży tylko i wyłącznie w... 30.12.2011, 09:22:40
nospor Przecież ci napisałem: masz podać ścieżkę bezwzglę... 30.12.2011, 09:26:10
adam882 ok, ale w którym miejscu się to ustawia ? (bo gdzi... 30.12.2011, 09:34:49
nospor No tu to się ustawia:
$cache->AddDriver(... 30.12.2011, 09:43:17
adam882 Robiłem tak i coś takiego mi pokazało:
Fatal erro... 30.12.2011, 09:49:16
nospor CytatCzy może chodzi tutaj o podanie ścieżki na se... 30.12.2011, 09:53:12
adam882 Wybacz, ciągle się uczę. Dzięki 30.12.2011, 09:54:40
verio Czy można liczyć na jakieś wskazówki jak podłączyć... 5.01.2012, 23:44:43
nospor 1) Nie wiem jak wygląda OPT
2) Cache za bardzo z O... 6.01.2012, 13:03:01
pitbull82 Tworzę sobie swoją, znacznie prostszą klasę do cac... 11.01.2012, 19:28:20
nospor Ano powinno
Naszczeście serialize rzadko kiedy si... 11.01.2012, 19:40:46
pitbull82 To jeszcze na wszelki wypadek linia 224
[PHP] pob... 11.01.2012, 19:44:41
nospor Hehe, nie, tym razem wszystko jest ok.
Spójrz par... 11.01.2012, 19:46:42
pitbull82 Bez bicia przyznaję się, że nie bawiłem się jeszcz... 11.01.2012, 19:48:46
nospor Hehe, ale słowo "Recursive" mogło dać ci... 11.01.2012, 19:50:43
Lukaszpl Świetna sprawa z tą klasą do cache. Wdrożenie nie ... 23.02.2012, 09:32:44
nospor Mówisz o sterowniku APC?
ad1) Będzie tak samo jak... 23.02.2012, 09:41:48
Lukaszpl Jaki jest maksymalny czas dla cache w pamięci i dy... 23.02.2012, 14:36:30
nospor A możesz ustawić nawet i dwa lata jak masz taką oc... 23.02.2012, 14:40:50
jarod21 Witam,
Jestem początkujący i mam pytanie:
Pobieram... 11.11.2013, 13:34:26
nospor Katalogi tworzą sie automatycznie. Widac skrypt ni... 12.11.2013, 07:02:44
jarod21 Wiem przeglądałem kod i dziwi mnie że przy CacheFi... 12.11.2013, 10:40:31
nospor Poniewaz CacheFIleDriver nie tworzy zagniezdzonych... 12.11.2013, 10:57:20
jarod21 Witam,
Zrobiłem test cache i wygląda, że jest 2x w... 6.01.2015, 22:41:23
nospor Byłoby naprawde miło jakbyś uraczył nas kodem... s... 7.01.2015, 08:02:27
jarod21 Kod poniżej
[PHP] pobierz, plaintext requi... 7.01.2015, 11:30:37
Pyton_000 Może być szybsze przez to że MySQL robi cache zapy... 7.01.2015, 11:55:23
nospor 1) Do cache powinno się wkładać raczej jakies wiek... 7.01.2015, 11:56:12 ![]() ![]() |
|
Aktualny czas: 28.11.2025 - 15:03 |