![]() |
![]() |
![]() ![]()
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? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat 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. Moim zdaniem to jest właśnie dobre rozwiązanie.Co ci szkodzi usunąć 5 plików? Przeciez jak dodasz aktualnosc to musisz wyczyscic tylko cache aktualnosci. Proponuje takie rozwiązanie (opieram się w opisie na mojej klasie - jest w podpisie): Pobierasz aktualnosci z danego jezyka (np. pl). Patrzysz czy jest w cache obiekt aktualnosci_pl. Jest? - to go wyswietlasz. Nie ma? to go tworzysz. przypisujesz go do kategori aktualnosci i wyswietlasz to co stworzyles. Analogicznie postepujesz dla innego jezyka i dla innych typow. Teraz zmieniasz cos w aktualnosciach. Czyscisz wiec caly cache z kategorii aktualnosci i juz sie o nic nie martwisz. Wszystko zbuduje sie samo, gdy będzie ktos chcial to wyswietlic |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 19:49 |