Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> cache'owanie
wojto
post
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 29.06.2003
Skąd: Warszawa

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


Mam pytanie odnosnie cachowania.
Jak zrobic takie cachowanie? Wiadomo, ze jesli jest jakas strona "statyczna" (tylko czasami zmieniajaca swoja zawartosc), to sprawdzana jest data ostatniej modyfikacji pliku i porownywana z jakas zapisana w innym miejscu, lub jesli jest starsza niz okreslona ilosc czasu. Jesli tak, to usuwany jest plik i tworzony na jego miejsce nowy plik.

Natomiast jak to jest ze stronami dynamicznymi?
Widzialem w kilku skryptach, ze strony sa cachowane i jak data ich utworzenia jest starsza niz np. 3 minuty, to jet plik od nowa cachowany, ale co jesli ktos wczesniej zmieni zawartosc strony, np. doda jakiegos newsa, wtedy skrypt innym uzytkownikom pokaze to co jest zcachowane, czyli w to jeszcze bez newsa.

Nie wiem jak to jest w smarty zrobione, ale pewnie dobrze to dziala.

Moj pomysl to taki, zeby w klasie miec kazdy element strony oddzielnie, np. menu, tabelke z ost. postami z forum, tabelke ze spisem newsow, tabelke z komentarzami i to wszystko w oddzielnych niby modulach. I teraz jak ktos wczytuje strone, to klasa sprawdza, czy zcachowane pliki wszystkich potrzebnych modulow istnieja, jesli jakis nie istnieje, to go cachuje i tworzy. Zas jak ktos cos zmienia w bazie danych lub skrypcie, to wtedy usuwane sa dane zcachowane pliki wybranych elementow.

np. jak ktos doda newsa, to usuwany jest plik zcachowany z newsami
jak ktos doda komentarz do newsa, to usuwany jest cache z komentarzami i z newsem (bo w nim byla wyswietlana ilosc komentarzy). itp.

mam nadzieje, ze zrozumiale to opisalem, prosil bym o wszelka pomoc odnosnie cachowania, gdyz jest mi to potrzebne do pracy magisterskiej, z gory thx

ps. jesli temat nie na Pro, to niech ktos przeniesie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rzseattle
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 554
Pomógł: 0
Dołączył: 4.04.2002
Skąd: Tychy

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


W smarty "przyspieszanie" opiera sie na dwoch etapach.

1. Kompilacja szablonu do kodu php.

Przyspiesza to znacznie szybkosc generowania strony poniewaz eleminuje mase pregow. Skompilowany szablon jednak dalej za kazdym razem pobiera dane ze zrodel zewnetrznych.

2. Wlasciwe cache'owanie

Jest tworzony plik ktory niejest wogole obrabiany POZA zdefiniowanymi wczesniej blokami dynamicznymi ktore sa odswiezane za kazdym razem. Jest to np funkcja rotatora banerow itp. Samo smarty nie sprawdza jednak czy dane zewnetrzne zmienily sie czy nie poniewaz jaki bylby wtedy sens cachowania skoro porownanie danych zajmuje mase czasu. Natomiast jest wprowadzony czas zywotnosci zcachowanego pliko ktory okresla co jaki czas plik ma byc odswiezany.
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: 2.10.2025 - 16:27