![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 16:27 |