Cache, [klasa] php5 |
Cache, [klasa] php5 |
28.01.2011, 07:48:29
Post
#41
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
A, to przez to hashowanie
Cała nazwa obiektu "folder/nazwa" leci przez hash w wyniku czego znika folder/. No, o tym nie pomyślałem -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
10.05.2011, 00:28:55
Post
#42
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 3 Dołączył: 23.02.2006 Ostrzeżenie: (0%) |
Bardzo fajna i pożyteczna klasa, dziękuje.
W pliku example.php znalazłem coś takiego:
czy parametr 'lifetime' jest wymagany? Już piszę o co chodzi. Mam w bazie dane które będą się zmieniać na stronie czasowo, np raz dziennie (imieniny), wiec po co mi pobierać dane co 5 minut jak one są niezmienne? wystarczy że pobiorę dane 1 raz dziennie. Mogę prosić o podpowiedź jak powinien wyglądać kod który raz dziennie przy wejściu pierwszego użytkownika po północy usunie cache @queries 'kalendarz', i założy nowe ? taka sama opcja potrzebna mi na każdy poniedziałek roku. Ten post edytował @rtur 10.05.2011, 06:28:34 -------------------- Artur
|
|
|
10.05.2011, 06:32:12
Post
#43
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
Jeśli chcesz kasować cache raz dziennie to za lifetime ustaw wartość 'day'
Jeśli chcesz kasować raz w miesiącu to ustaw 'month' Co do każdego poniedziałku to póki co nie ma takiej opcji. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
10.05.2011, 07:31:31
Post
#44
|
|
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 -------------------- Artur
|
|
|
10.05.2011, 07:36:05
Post
#45
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
W paczce masz podane kody do pobierania danych z cache. Gdy cache jest już nieaktualny to generujesz obiekt na nowo i wkładasz do cache. Wszystko to masz w paczce z przykładami. Musisz zrobić dokładnie tak samo jak tam jest podane.
Gdy ustawisz czas życia obiektu na 'day' to przy pobieraniu danych z cache dostaniesz NULL w przypadku gdy właśnie wskoczył nowy dzień. Postępowanie jest dokładnie takie samo jakbyś zamiast 'day' dał 300 sekund. Cytat tak sobie pomyślałem że może bym sobie to wrzucił w plik i wykonywał co określony czas z crona? Jeśli chcesz tylko czyścić to czemu to ma służyć? Przecież dokładnie ten sam efekt będziesz miał przy normalnym użyciu kodu z paczki.No chyba, że ty ten cron robisz na ten poniedziałek, którego ja nie obsługuję - to tak, wówczas to ma sens. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
10.05.2011, 07:39:03
Post
#46
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 3 Dołączył: 23.02.2006 Ostrzeżenie: (0%) |
Właśnie o ten poniedziałek mi chodzi
-------------------- Artur
|
|
|
10.05.2011, 07:41:08
Post
#47
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
No to ten cron powinien załatwić sprawę
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
10.05.2011, 07:51:44
Post
#48
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 3 Dołączył: 23.02.2006 Ostrzeżenie: (0%) |
ale ten kod który podałem wcześniej jest wystarczający?
czy
jest potrzebne do usuwania? -------------------- Artur
|
|
|
10.05.2011, 07:59:42
Post
#49
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
No tak, jak nie zdefiniujesz grupy z której usuwasz, to poleci wyjątek, że takiej grupy nie ma.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
10.05.2011, 08:12:16
Post
#50
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 3 Dołączył: 23.02.2006 Ostrzeżenie: (0%) |
dzięki za podpowiedzi, tak się jeszcze zastanawiam jak działa ' 'lifetime'=>day, '
czy załóżmy jeśli cache zostanie utworzone dziś o 09:10 to jego czas wygasa o północy czy jutro 09:10? bo jesli jutro 09:10 to też muszę je kasować cronem -------------------- Artur
|
|
|
10.05.2011, 08:14:16
Post
#51
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
Nie. cache z opcją day kasuje się dokładnie następnego dnia, niezależnie o której był utworzony dnia wcześniejszego.
A dokładnie kasowany jest dnia następnego przy pierwszej próbie jego pobrania. Jeśli pierwsza próba pobrania będzie o północy to skasuje się o północy. Jeśli pierwsza próba pobrania będzie o 02:34 to skasowany zostanie o 02:34 -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
10.05.2011, 08:29:25
Post
#52
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 3 Dołączył: 23.02.2006 Ostrzeżenie: (0%) |
Więc chyba pozostaje mi czyszczenie cache imieninowego z crona, przecież jak ktoś wywoła pierwszy raz skrypt jednego dnia o 08:05 a drugiego o 7:02 to o mu się pokaże zawartość wczorajszego cache bo od czasu powstania nie minie 24h.
Dziękuje jeszcze raz za dokładne i rzeczowe wytłumaczenie. -------------------- Artur
|
|
|
10.05.2011, 08:31:56
Post
#53
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
NIe zrozumiałeś totalnie....
Przecież ci tłumaczę, że day nie oznacza 24h a oznacza nowy dzien. Jeśli cache utworzy się o 08:05 a następnego dnia ktoś go wywoła o 07:02 to cache się wyczyści i wygeneruje na nowo z dniem aktualnym - będziesz więc miał to co chcesz. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
10.05.2011, 10:16:58
Post
#54
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 3 Dołączył: 23.02.2006 Ostrzeżenie: (0%) |
Faktycznie, nie zrozumiałem.
to jeszcze spytam o jedna rzecz: czy jak tak zdefiniujemy grupę w ten sposób:
to bedzie ok, i moge potem w kodzie zdefiniowac czas 5 sek np tak ?
Przepraszam za tyle pytań ale dopiero zaczynam zabawę klasami. -------------------- Artur
|
|
|
10.05.2011, 10:20:51
Post
#55
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
Tak, gdy określisz czas w Get() to nadpisze on czas z grupy.
Gdy w grupie nie określisz czasu to zostanie przydzielony dla grupy czas domyślny. Podsumowując: jest tak jak napisałeś -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
12.06.2011, 22:18:09
Post
#56
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 1.03.2011 Ostrzeżenie: (0%) |
Czy da się tak ustawić aby Cache ogóle nie było kasowane Tzn tylko na życzenie. Np. podczas gdy dokonuje zmiany w bazie za pomocą kodu php = odpalić czyszczenie cache w przeciwnym wypadku cache nie jest w ogóle kasowane
Jaki parametr ma przyjść lifetime |
|
|
13.06.2011, 07:18:19
Post
#57
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
Ustaw za lifetime np. 5 lat. Podejrzewam, że przez ten czas sam kilka razy skasujesz na żądanie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
28.12.2011, 09:27:50
Post
#58
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 1 Dołączył: 2.11.2007 Ostrzeżenie: (0%) |
Bardzo fajna klasa Mam jednak problem z grupą "@queries".
Czy da się za pomocą tej klasy zrobić tak, abym dodawał do cache tylko sam wynik zapytania mysql_query() ? |
|
|
28.12.2011, 09:30:01
Post
#59
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
yyyy, mysql_query() czy mysql_fetch_array()? Do cache zazwyczaj zapisuje się rekordy a nie wynik mysql_query.
Tutaj o tym pisałem: http://forum.nospor.pl/projekty/cache/cach...nych-ft252.html -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
28.12.2011, 09:48:57
Post
#60
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 1 Dołączył: 2.11.2007 Ostrzeżenie: (0%) |
chyba źle sprecyzowałem pytanie, ale dzięki za właściwą odpowiedź i gratuluję napisania świetnej klasy
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.09.2024 - 19:33 |