![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 23 Dołączył: 1.12.2003 Ostrzeżenie: (10%) ![]() ![]() |
Zrobiłem sobie na stronie cachowanie zapytań wg http://webcity.pl/webcity/artykuly.php/t/51
Ale to jest tylko cachowanie podczas przeglądania strony, elementów jest sporo i się zmieniają, jest to lista produktów podzielona na wiele stron i jak dojdzie kilka produktów to starsze się przesuwają na dalsze strony ale nie w cachu, jak z robić taki skrypt odpalany raz dzienni który będzie uaktualniać cache dla każdej strony wników ? Lub ewentualnie inne rozwiązanie ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 453 Pomógł: 22 Dołączył: 20.09.2004 Skąd: Kraków - NH - Ostrzeżenie: (0%) ![]() ![]() |
przy dodawaniu produktów opróżniasz cache ich dotyczący lub tworzysz skrypt opróżniający cache i wrzucasz to w cron który odpala to raz dziennie (czy ile razy tam trzeba).
ale wg mnie najlepszy byłby chyba pierwszy sposób. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 23 Dołączył: 1.12.2003 Ostrzeżenie: (10%) ![]() ![]() |
A czy nie lepiej (mniejsze obciążenie) zrobić update tego cachu ? Tzn raz dziennie w cronie bedzie kasowany cache i odnawiany ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 453 Pomógł: 22 Dołączył: 20.09.2004 Skąd: Kraków - NH - Ostrzeżenie: (0%) ![]() ![]() |
teoretycznie tak - mniejsze obciążenie serwera. jednak jeżeli produkty zostaną dodane rano, a update wykonywany będzie wieczorem to będą one nie widoczne aż do jego wykonania. można także zostawiać jakąś informację (w pliku?) o tym, że produkty zostały dodane i które pliki cache należy wyczyścić. co godzinę cron będzie sprawdzał ten plik i jeżeli będzie wpis, że należy wyczyścić cache to wtedy skrypt usunie pliki już nieaktualne.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 23 Dołączył: 1.12.2003 Ostrzeżenie: (10%) ![]() ![]() |
No właśnie tylko nie potrafię zrobić cache całej bazy za jednym razem. Chodzi mi o cache pojedyńczgo produktu + cache podstron w przegladaniu, np 1-20, 21-40, 41-60 itd ...
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 453 Pomógł: 22 Dołączył: 20.09.2004 Skąd: Kraków - NH - Ostrzeżenie: (0%) ![]() ![]() |
przyjmijmy, że cache będzie tworzony przy pierwszym wejściu, a nie przy kasowaniu plików. pliki cache które trzymają informację na temat produktów (czy to pojedynczego, czy też strony z kilkoma produktami) muszą mieć wspólny początek. skrypt wywoływany przez crona i wywala pliki z ustawionym przedrostkiem. w ten sposób pozbywasz się nieaktualnego cache`u. nowy stworzy się przy pierwszym wejściu na daną stronę.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Kurde widze maly balagan w rozumowaniu, stworz sobie cache w miejscu gdzie bezposrednio tworzone jest zapytanie do bazy (chodzi tu o model w ideologi MVC) a widok pozostaje nienaruszony i tak nie wie skad model bierze dane,. Model niech sobie sprawdza expire cache'u i z niego czyta ewentualnie kasuje go i zapisuje od nowa...
|
|
|
![]() ![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Mozesz cache podpiac do jakiegos sterownika bazy danych, wtedy nawet model nie za bardzo bedzie wiedział skad sie bierze wynik. Ale dodatkowo dla niektorych podstron mozesz przeciez zrobic cache całej strony. Wtedy nawet nie wywołujesz wszystkich modeli, nie sprawdzasz nawet cache, procz cache widoku. Czesto duzo bardziej wydajne przy czesto odswierzanych stronach a nie edytowanych. Jesli używasz szablony Smarty to masz wbudowany cache, tylko musisz zrobic obsługe ktora strona ile ma byc trzymana w cache a ktore wogole nie maja byc cach'owane.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 03:21 |