Adam W.

Adam W. senior php
developer, Symfony

Temat: cache pojedyńczych zapytań

witam

czy jest jakiś mechanizm ograniczający ilość zapytań?
np pobieranie województw - zawsze będzie to samo, więc po co za każdym razem robić zapytanie do bazy, jak można te dane wyciągnąć z pliku.

konto usunięte

Temat: cache pojedyńczych zapytań

Adam W.:
witam

czy jest jakiś mechanizm ograniczający ilość zapytań?
np pobieranie województw - zawsze będzie to samo, więc po co za każdym razem robić zapytanie do bazy, jak można te dane wyciągnąć z pliku.

Po co używać bazy danych skoro można trzymać w pliku ?

Ja ten problem rozwiązuje zapisując takie rzeczy w jakimś pliku w postaci zserializowanych danych. A kontroler do tego sobie musisz sam zrobić

Ale musisz sobie zdać sprawę z tego że silnik bazy danych też robi cache zapytań.. nie wiem czy zyskasz na wydajności.Michał Wujas edytował(a) ten post dnia 29.10.08 o godzinie 13:56
Adam W.

Adam W. senior php
developer, Symfony

Temat: cache pojedyńczych zapytań

chciałbym to osiągnąć jak najmniejszym nakładem pracy. w innych FW taki cache jest dostępny od zaraz.
np w Kohana, można cacheowac dowolne zapytania.

jeżeli chodzi o województwa to można akurat cały model napisać samemu wstawiając tam po prostu dane z tablicy albo coś takiego.
ale mi chodzi o bardziej uniwersalne rozwiązanie, które będę mógł zastosować do innych danych słownikowych - bo trochę tego jest.

konto usunięte

Temat: cache pojedyńczych zapytań

jak chcesz z automatu to zmień Propel'a na Doctrine :P bo ma chyba zaimplementowane cacheowanie zapytań i wyników zapytań
Adam W.

Adam W. senior php
developer, Symfony

Temat: cache pojedyńczych zapytań

kiedyś już chciałem przejść na doctrine, ale nie wyszło.
jeżeli jednak ktoś coś słyszał o cache zapytań w propelu to poproszę informacje.
Piotr Paryna

Piotr Paryna webdesigner

Temat: cache pojedyńczych zapytań

Można cache'ować wynik funkcji.
Rafał Groń

Rafał Groń programista PHP

Temat: cache pojedyńczych zapytań

Zgadzam się z poprzednikiem - cache
Adam W.

Adam W. senior php
developer, Symfony

Temat: cache pojedyńczych zapytań

Rafał Groń:
Zgadzam się z poprzednikiem - cache

że można robić cache wyników funkcji? ja też się z tym zgadzam.
ale co z tego?:)
czyli jedna metoda w modelu daje jakiś wynik, a druga metoda w modelu zajmuje się cache'owaniem ?
tak to rozegrać? czy raczej w kontrolerze?
Michał Gozdera

Michał Gozdera Development Team
Manager, PayU S.A. /
IT Toruń

Temat: cache pojedyńczych zapytań

Adam W.:
Rafał Groń:
Zgadzam się z poprzednikiem - cache

że można robić cache wyników funkcji? ja też się z tym zgadzam.
ale co z tego?:)
czyli jedna metoda w modelu daje jakiś wynik, a druga metoda w modelu zajmuje się cache'owaniem ?
tak to rozegrać? czy raczej w kontrolerze?

Zastosowałbym bardzo prosty w użyciu memcached z pluginem do niego w symfony. Można w nim trzymać obiekty pod kluczami w różnych przestrzeniach nazw. Wystarczy ponumerować województwa - pewnie w bazie masz pk w tabeli. Tworzysz sobie w memcache namespace'a. W metodzie w modelu pobierającej dane województwo dorzucasz po prostu warunek na istnienie obiektu o danym kluczu w cache. Jeśli istnieje to pobierasz, jeśli nie to bierzesz z bazy i zapisujesz do cache. Jeśli bardzo Ci zależy żeby wszystko od razu było w bazie możesz zrobić małego batcha który wrzuca wszystkie województwa do cache i odpalać go po prostu zawsze jak restartujesz memcache.

Na mój gust to proste i skuteczne.
Łukasz Krzysiak

Łukasz Krzysiak programista, o2.pl

Temat: cache pojedyńczych zapytań

W symfony dostępna jest wtyczka sfMemcacheCache pozwalająca na łątwe zintegrowanie memcached z frameworkiem. Pozwala na cachowanie wyników zapytań i/lub całych templatów w pamięci. Zysk wydajności jest bardzo duży. Niestety jako, że memecached jest usługą systemową to na hostingach raczej nie jest dostępny. Trzeba mieć dostęp do serwera dedykowanego.

konto usunięte

Temat: cache pojedyńczych zapytań

Łukasz Krzysiak:
W symfony dostępna jest wtyczka sfMemcacheCache pozwalająca na łątwe zintegrowanie memcached z frameworkiem. Pozwala na cachowanie wyników zapytań i/lub całych templatów w pamięci. Zysk wydajności jest bardzo duży. Niestety jako, że memecached jest usługą systemową to na hostingach raczej nie jest dostępny. Trzeba mieć dostęp do serwera dedykowanego.

Memchache to chyba najlepsze rozwiązanie w tym przypadku. Ja stosuje takie rozwiązanie właśnie przy pobieraniu list województw, branż, sektorów, szkół - wszystkiego tego, czego zmienność jest prawie zerowa.
Ale jeśli host nie daje dostępu do pamięci współdzielonej to zawsze można, tak jak pisał Michał, zapisywać do pliku takie dane.

konto usunięte

Temat: cache pojedyńczych zapytań

Witajcie,

Czy komuś z Was udało się uruchomić Memcache dla Doctrine?
Próbowałem robić w/g tego: http://forum.symfony-project.org/index.php/m/67671/?sr... i niestety nie działa. W Google też się niemało nagrzebałem i niestety nie znalazłem nic co mogłoby mi pomóc.

--
Pozdrawiam
Przemek
Roman Piekarski

Roman Piekarski Programista do
wynajęcia

Temat: cache pojedyńczych zapytań

Przemysław Ciąćka:
Witajcie,

Czy komuś z Was udało się uruchomić Memcache dla Doctrine?
Próbowałem robić w/g tego: http://forum.symfony-project.org/index.php/m/67671/?sr... i niestety nie działa. W Google też się niemało nagrzebałem i niestety nie znalazłem nic co mogłoby mi pomóc.

--
Pozdrawiam
Przemek

Proponuję abyś stworzył nowy wątek bo niepotrzebnie zaburzasz temat;)
Adam W.

Adam W. senior php
developer, Symfony

Temat: cache pojedyńczych zapytań

Roman Piekarski:
Przemysław Ciąćka:
Witajcie,

Czy komuś z Was udało się uruchomić Memcache dla Doctrine?
Próbowałem robić w/g tego: http://forum.symfony-project.org/index.php/m/67671/?sr... i niestety nie działa. W Google też się niemało nagrzebałem i niestety nie znalazłem nic co mogłoby mi pomóc.

--
Pozdrawiam
Przemek

Proponuję abyś stworzył nowy wątek bo niepotrzebnie zaburzasz temat;)

nawiasem mówiąc martwy już temat;)
Roman Piekarski

Roman Piekarski Programista do
wynajęcia

Temat: cache pojedyńczych zapytań

Adam W.:
Roman Piekarski:
Przemysław Ciąćka:
Witajcie,

Czy komuś z Was udało się uruchomić Memcache dla Doctrine?
Próbowałem robić w/g tego: http://forum.symfony-project.org/index.php/m/67671/?sr... i niestety nie działa. W Google też się niemało nagrzebałem i niestety nie znalazłem nic co mogłoby mi pomóc.

--
Pozdrawiam
Przemek

Proponuję abyś stworzył nowy wątek bo niepotrzebnie zaburzasz temat;)

nawiasem mówiąc martwy już temat;)

Co nie zmienia faktu ze zaburza;)

Następna dyskusja:

cache'owanie warunkowe




Wyślij zaproszenie do