Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] sposob cacheowania
Forum PHP.pl > Forum > PHP
pieto
Witam,

Potrzebuje zoptymalizowac skrypty odpowiadajace za wyswietlanie tresci na mojej stronie bo juz serwer nie wydala.

I tak:

w bazie mam 100.000 rekordow (artykulow) w formacie wiki przy kazdym odswierzeniu strony calosc sklada sie do kupy w locie, wewnatrz tych artykulow sa linki (nie ktore frazy) ktore musze sprawdzic i podstawic odpowiednie css'y

Czyli przy kazdym odswierzeniu artykulu robi sie ok 20 do 50 zapytan, i tu wymyslielem aby wynik zapisywac do cachu - logiczne tylko pytanie zasadnicze czy do tej samej tablicy sql ? czy wielkosc samych rekordow (nie ilosc) ma wplyw na czas pobrania danych ?

czy lepiej zapisywac do plikow ?
(wygodniej mi w bazie)

z gory dzieki za info
SongoQ
Jest wiele mozliwosci, wszystko zalezy czym dysponujesz. Bazka jak wiadomo - polaczenie najgorsze, plik - odczyt wersji tekstowej - szybko. Mozesz rozniez zrobic taki bajer (kiedys takie cos robilem) ze na operacje DML ladujesz do tabeli cache w MySQL zeby przyspieszyc mozesz wrzucic do tabeli w RAM (MEMORY) i wyciagac. Jesli chesz to osiagnac bez przerobek w kodzie (PHP) to najlepiej wszystko oprzec na triggerach i zapisywac do tabeli. W przypadku MEMORY pamietaj o mechanizmi ktory odbuduje wszystkie dokumentu po restarcie maszyny.
pieto
a jeszcze takie pytanie,

Czy jesli w katalogu bede mial mln plikow to wczytanie konkretnego do zminnej bedzie trwalo dluzej niz jak bym mnial 10 plikow ? (SuSe)
SongoQ
Tak ograniczenie jest do liczby plikow (potem strasznie dlugo to trwa). Ale co i jak to nie wiem, musisz szukac gdzies w architekturze linuxa.
ElemenT
ja mam taki mechanizm

jest jeden katalog z cache czyszczony raz dziennie

wygenerowanie strony jednej (atrykulu) to okolo 15 zapytan
po wygenerowaniu samego artykulu zapisuje go do pliku oraz zapisuje date ostatniego zapisu pliku w bazie

przy nastepnym wejsciu sprawdzam 1 zapytaniem date wygenerowania, jak jest mniejsza niz czas zadany odswiezenia - np 30 min to leci z pliku, jak nie to generuje sie jeszcze raz (lub jak bylo uaktualnienie artykulu)

wszystko
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.