wdrożenia PrestaShop

cache w sklepie

  • 2 Odpowiedzi
  • 3326 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline aopon

  • Nowy
  • *
  • 7
  • 0
cache w sklepie
« dnia: Lipiec 28, 2010, 09:48:17 pm »
witam,
walczę trochę z cachowaniem sklepu i chciałem Was podpytać jak radzicie sobie z takimi problemami:
- jak czyścicie cache po zmianie jakichkolwiek danych w panelu?
- presta mimo włączonego cachu nie sprawdza czy dany szablon jest cachowany, odpytuje bazę danych a na koniec korzysta z zapamiętanego szablonu - sprawdzacie szablony metodą is_cached? Modułów jest sporo i sprawdzenie tego to masakra, może macie inny sposób?
- jakiego sposobu używacie aby nie cachować niektórych elementów sklepu?
- wydaje mi się, że w wersjach wielojęzykowych do cache_id trzeba jeszcze dorzucić id_lang, jak myślicie?

Tutaj mała porcja moich uwag i radzenia sobie z problemem cachu następującymi sposobami:
- w modułach do metody display dodaję id_cache, np id produktu albo kategorii
- w plikach admina w postProcess daję clear_cache dla konkretnego id_cache
- nie wiem dlaczego, ale nie działa clear_cache dla niektórych modułów, wprowadziłem zatem boolowską zmienna systemowa, którą ustawiam na true jak jest zmiana danych w module. W smarty.config.inc sprawdzam tę zmienną, jeżeli jest true to włączam force_recompile i ustawiam ją na false

Chętnie zapoznam się z Waszymi uwagami,
pozdrawiam

*

Podemski

  • Gość
Odp: cache w sklepie
« Odpowiedź #1 dnia: Lipiec 29, 2010, 08:41:56 pm »
O :) Wreszcie temat na wyższym poziomie wtajemniczenia :)

Ja Ci napiszę tak aopon. Najlepiej byłoby przeanalizować cały kod Prestashop i na wstępie wyeliminować wąskie gardła, a jest ich z tego co wiadomo bardzo dużo.

Smarty domyślnie nie czyście cache`u. Gdzieś na oficjalnym forum ktoś napisał dodatek umożliwiający usunięcie cache`u, w sensie zawartości folderu /compile/ i to tyle z tego co wiem.

Cytuj
Tutaj mała porcja moich uwag i radzenia sobie z problemem cachu następującymi sposobami:
- w modułach do metody display dodaję id_cache, np id produktu albo kategorii
- w plikach admina w postProcess daję clear_cache dla konkretnego id_cache
- nie wiem dlaczego, ale nie działa clear_cache dla niektórych modułów, wprowadziłem zatem boolowską zmienna systemowa, którą ustawiam na true jak jest zmiana danych w module. W smarty.config.inc sprawdzam tę zmienną, jeżeli jest true to włączam force_recompile i ustawiam ją na false

I jakie są obserwacje? Daje to jakieś pozytywne rezultaty?

*

Offline aopon

  • Nowy
  • *
  • 7
  • 0
Odp: cache w sklepie
« Odpowiedź #2 dnia: Lipiec 30, 2010, 01:08:27 pm »
Witam,
>> Smarty domyślnie nie czyście cache`u. Gdzieś na oficjalnym forum ktoś napisał dodatek umożliwiający
mozna skorzystać z clear_all_cache(), ale nigdy bym tego nie zrobił, po mozolnie zbudowanym cachu to byłaby masakra :)

>>  I jakie są obserwacje? Daje to jakieś pozytywne rezultaty?
zdecydowanie tak, przy dużym sklepie to absolutna podstawa (żadnego czytania bazy danych, przeliczania podatków itp). W presta trzeba jednak dużo zmieniać, cache jest tutaj globalny, wszystkie moduły są cachowane. Trzeba by przerabiać każdy moduł odpowiedzialny np. za boczne bloki i albo czyścić cache po zmianie, albo jeżeli nigdy ma nie być cachu to użyć metody insert smartiego zamiast include.
Ehh, dużo pracy mnie czeka, zrobię jakieś uniwersalne rozwiązanie to się podzielę później :)

Pozdrawiam