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 (1 - 4)
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.


--------------------
"Real children don't go hoppity-skip unless they are on drugs."
Go to the top of the page
+Quote Post
squid
post
Post #3





Grupa: Zarejestrowani
Postów: 358
Pomógł: 0
Dołączył: 3.07.2003
Skąd: Szczecin->niebuszewo->*(next to window)

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


pod tym adresem znajdziesz cos o tym http://www.zend.com/zend/art/scriptcaching.php

wg mnie najlepszym rozwiazaniemodnoscie podjecia decyzji kiedy cachowac dane jest tworzenie przy kazdej zmianie danych nowego plku badz modyfikowaniu starego po kliknieciu na link uzytkownik jest przenoszony do skryptu php ktory sprawdza jesli plik kontrolny jest mlodszy niz statyczny wczesniej stowrzony plik wtedy nastepuje amicznie generowanie tresci jesli nie to uzytkownik jest przenoszony do wczesniej stworzonej strony statycznej

wada jest ze trzeba sprawdzac daty utowrzenia plikow ale jest to niewielki narzut czasowy.

Wiem ze to troche nie jaste jak nie rozumiecie to pisac


--------------------
Jeśli życie to kara to nieźle nabroiłem ;-)
Go to the top of the page
+Quote Post
orson
post
Post #4





Grupa: Zarejestrowani
Postów: 548
Pomógł: 2
Dołączył: 19.07.2003

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


witam ...

na reaktywowanym niedawno portaly webcity pojawil sie art na temat chache przy polaczeniach z baza danych ... warto przeczytac ...

cya


--------------------
Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
Go to the top of the page
+Quote Post
wojto
post
Post #5





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

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


Cytat
witam ...

na reaktywowanym niedawno portaly webcity pojawil sie art na temat chache przy polaczeniach z baza danych ... warto przeczytac ...

cya

o_O dzieki za linka
przeczytalem i jest tam dokladnie to o co mi chodzilo, czyli cachowanie stron poprzez cachowanie jej elementow, a przy zmianie zawartosci bazy danych usuwany jest plik ze zcachowanym elementem tej strony; elementem ktory pobieral dane zmienione w tym zapytaniu.

chyba zrobie tak jak tam jest, czyli dolocze to cachowanie do klasy obslugujacej zapytania do bazy

@squid: ty mowisz o cachowaniu calych stron, czyli kazda zmiena zawartosci bazy danych musiala by usuwac zcachowany pllik, gdyz nie byl by on juz aktualny, co bylo by nie optymalne.
tak jak mowisz mozna cachowac strony zadko zmieniajace swoja zawartosc i potem sprawdzac, np. przez [manual:2686de4ea2]filectime[/manual:2686de4ea2]
dzieki za adres, choc juz go wczesniej widzialem

pozdro.


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.08.2025 - 14:38