Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie listy najnowszych pozycji?, Jak i kiedy tworzyć CACHE?
WebCM
post
Post #1





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

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


Chcę wyświetlić listę najnowszych pozycji. Jest 5 typów kategorii: artykuły, pliki, zdjęcia, linki i nowości (każdy typ przechowywany w osobnej tabeli w bazie danych).

Generowanie listy przy każdym odświeżeniu strony może trochę spowolnić skrypt. Przecież można zrobić to raz, a potem wczytywać gotowy fragment kodu HTML!

Zastanawiam się, w jaki sposób tworzyć cache, a właściwie KIEDY. Podczas edycji każdego elementu?

Problem w tym, że system CMS musi obsługiwać wiele języków. Już myślałem, że pobiorę wszystkie najnowsze pozycje (5 zapytań, bo jest 5 typów), przypiszę kod do tablic typu $kod[$jezyk] lub $kod['wszystkie'], a potem zapiszę go do plików - dla każdego języka (po złączeniu tablic, np. $kod['PL'] i $kod['wszystkie']). Jednak to nie takie proste...

Przeczytajcie: http://www.unit1.pl/pb-887

Jak rozwiązać ten problem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
WebCM
post
Post #2





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

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


Twórz cache co X minut
Z odświeżaniem cache do X minut nie ma problemu. W przypadku stron o dużym ruchu, na których nowe elementy pojawiają się średnio raz na dzień, takie rozwiązanie jest raczej nieopłacalne. W przypadku częstych zmian - lista może zaktualizować się nawet po X minutach, więc przez X minut nie będzie aktualna.

Dezaktualizuj cache
Nie wiem, czy usuwanie plików (po każdej zmianie) i tworzenie ich ponownie (gdy trzeba wyświetlić listę) to dobry pomysł, szczególnie że trzeba usunąć tyle plików, ile jest języków.

Aktualizacja cache przy każdej zmianie
To wg mnie najlepszy pomysł, ale gorzej z wykonaniem. Jak już wyjaśniłem, trzeba utworzyć cache dla każdego języka. Zakładając, że istnieje 5 typów kategorii i 3 języki, trzeba wykonać 15 zapytań, chyba że zastosujemy inne konstrukcje SQL, aby osiągnąć cel - tylko jakie? Więcej informacji: http://www.unit1.pl/pb-887

Cytat
kiedy tworzysz cache nadajesz mu odpowiednie tagi i potem usuwasz wszystko jak leci co zawiera dany tag
Możesz wyjaśnić więcej? Chodzi o to, aby w pliku konfiguracyjnym zaznaczyć, że cache jest nieaktualny i trzeba go przebudować? Chyba że dodatkowy plik posłużyłby jako wskaźnik - jeśli jego data jest większa od daty cache...
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: 9.10.2025 - 00:20