![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 5.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam plik o nazwie posty.php, który pobiera z bazy 5 rekordów i wyświetla je.
Rekordy w bazie czasem zmieniają się (najczęściej 5 razy dziennie). Zastanawiałem się, czy istnieje dobry sposób na odciążenie serwera poprzez zastąpienia pliku posty.php statycznym posty.html, który byłby modyfikowany po każdej zmianie w bazie. W ten sposób w ogromnej mierze zmniejszyłbym zasobożerność aplikacji (serwując użytkownikom tylko plik html i wysyłając do bazy zapytania tylko kilka razy dziennie). 1) Co myślicie o tym pomyśle? Muszę liczyć sie z dużą publiką, a co za tym idzie szansą, że ktoś wejdzie na stronę akurat kiedy plik będzie nadpisywany (i dostanie błąd lub niekompletny plik). 2) Jak mógłbym to rozwiązać? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 5.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
OK, zatem cache w PHP jest rozwiązaniem, ale wymaga jednak trochę pracy serwera (PHP). Czy znacie jeszcze jakieś inne? Myślałem o czymś podobnym do stworzenia soft linka, który będzie wskazywał na plik w zależności od czasu.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 9 Dołączył: 3.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
OK, zatem cache w PHP jest rozwiązaniem, ale wymaga jednak trochę pracy serwera (PHP). Czy znacie jeszcze jakieś inne? Hmmm... Skoro już nie chcesz użyć cache, to może inna alternatywna metoda "cache", tyle że to tak trochę "na około": - wyświetlanie odbywa się przez pobieranie określonego pliku z wyświetlaną zawartością, czylipo prostu includujesz plik z dysku, lub po prostu wyswietlasz ten plik posty.html - generowanie tego pliku odbywa się przez wywołanie innego skryptu, który wywołany z crona np. raz na godzinę. w takim wypadku wyświetlenie masz danych statycznych, a człowiek nie musi szykować danych. Ale uwaga: nie wiem co się będzie działo w czasie, gdy skrypt będzie generował plik a ktoś w międzyczasie skrypt wyświetlający o niego poprosi Nie rozumiem co strasznego jest w zwykłej konstrukcji: if ((PlikCacheNieIstnieje) OR (PlikCacheJestPrzeterminowany) ) { $DaneTXT = PObierzDanezBazy(); $ZapiszPlikCache($DaneTXT); } else { $DaneTXT = PObierzDanezPlikuCache(); } WyswietlDane(DaneTXT); Ten post edytował skleps 17.12.2011, 10:13:45 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 05:24 |