![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 164 Pomógł: 3 Dołączył: 13.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Przeszukałem forum, klasa Nospora jest zbyt trudna dla mnie, inne rozwiązania bazują na PEAR itp., a ja potrzebuję prostego buforowania według schematu: Jeśli jest plik z wynikami zapytania z bazy to nie pobieram z bazy danych tylko go wyświetlam ale jeśli ten plik ma nieaktualne dane - pobieram z bazy świeże dane i go nadpisuję. Znalazłem prosty przykład tu: http://wortal.php.pl/wortal/artykuly/proce...stronie_serwera ... i jest OK, tylko mała zagwozdka: jak sprawdzić czy plik z buforowanymi danymi ma aktualne dane? Pierwsza rzecz, która mi przychodzi do głowy to zapytanie do bazy i porównanie, np. ilości rekordów... ale czy to sie nie mija z celem? Przecież cache w założeniu ma być po to żeby nie oszczędzać na zapytaniach do bazy...? Proszę o jakieś sugestie... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 40 Dołączył: 20.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Może po prostu pobieraj nowe dane co jakiś, określony czas, albo przy aktualizacji danych aktualizuj też cache.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 164 Pomógł: 3 Dołączył: 13.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Chyba inaczej się nie da. Dzięki.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Z zasady cache ma ograniczony czas ważności, ktory sie z góry określa tworząc go.
Czyli np 1. Żądanie jakiejś strony 2. Sprawdzasz w cache czy istnieje odpowiedni plik z czasem utworzenia < 30min od teraz 3a. Jeśli pliku nie ma, pobierasz dane z bazy > zapisujesz do cache > wyświetlasz 3b. Plik jest (jest aktualny) > wyświetlasz Do cache możesz zapisywać wygenerowany html, bądź same dane. Do sprawdzenia czy plik cache jest aktualny możesz sprawdzać datę i godzinę zapisaną w nazwie pliku (2009-05-06_23-03_kontrahenci.htm) bądź datę i godzinę utworzenia pliku ($utworzony = filemtime($nazwa_pliku)(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 02:05 |