Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> DB Cache, Wskazówki
cadavre
post
Post #1





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Mam kilka pytań dot. cacheowania zapytań DB:

1. Jak rozpoznawać o które SQL chodzi? Ja każde zapytanie strtolow'uję, opróżniam ze znaków ['|"|`] i spacji a potem hash'uję w md5 - hash'em rozpoznaję query i nazywam pliki. Jak zrobić to inaczej, szybciej? Jak wiadomo replace i md5, które korzysta z algorytmów matematycznych, zajmują sporo czasu.
2. Czy sprawdzanie if( $czas_utworzenia_pliku > $aktualny_czas - $interwał ) { z_cache'u } jest dobrym sposobem na sprawdzenie terminu ważności pliku z cache'm?
3. W jaki sposób połączyć klasy db i cache'u? U mnie jeśli zapytanie ma być cache'owane wysyła do własnego fetch'a string, jeśli nie cacheowane - wysyła resource z query. Fetch sprawdza is_string i is_resource. To rozwiązanie jednak do najszybszych nie należy.
4. Pliki z cache'm zapisywać jako zserialiowaną tablicę czy po prostu jako <?php $arr=...; ?> ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cadavre
post
Post #2





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Aktualnie przerzuciłem się na strtolower i crc32 gdyż ten jest najszybszym (z moich benchmarków) algorytmem.

Co do kwestii "10 ostatnich minut" - nie wszędzie trzeba używać cache'owania, a w takich wypadkach nawet nie jest to wskazane - więcej czasu zajmować będzie tworzenie plików co chwila niż trwać będzie ich odczyt z bazy.

Serialize z tego co się orientuję jest szybszy gdyż jest to konstrukcja zaszyta głęboko w jądro php i przy generacji ciągu czy jego odczytu - funkcja bezpośrednio ładuje dane - bez jakiegokolwiek przekształcania treści ciągu, bez typowania etc.
Go to the top of the page
+Quote Post
msulik
post
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 31.03.2002
Skąd: Toruń

Ostrzeżenie: (0%)
-----


Jak się mówi: "Każdemu według potrzeb", więc ja będę się upierał przy swoim ;) Ale dzięki za naprowadzenie na crc32, faktycznie jest najszybsze.

Choć nadal gryzie mnie to serialize - czemu jest szybsze od include, wszak też mocno wbudowanego w php... Może to temat na inny topik (albo poszperanie w źródłach).

Pozdrawiam.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 12:59