Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Cache zapytań HTTP odświeżane co 5 minut
viperon
post 3.07.2009, 19:38:35
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 5.02.2009

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


Działam na Joomli 1.5. Na jednej z podstron umieściłem listę stron, które są odpytywane za pomocą metody GET czy działają, po czym zwracany jest wynik użytkownikowi. Cały czas wyniki pokazywały się na żywo, co zajmowało kilkanaście sekund, ale okazuje się, że taka metoda za bardzo obciąża serwer. W związku z tym pomyślałem o cache, który trzymałby wyniki przez 5 minut, potem pobierał nowe dane o działaniu serwerów i znowu trzymało je 5 minut. Przekopałem Google, w którym albo mowa o zapytaniach SQL, albo o cookies i sesjach, jednak w moim przypadku nic takiego nie ma miejsca. Jak to najlepiej rozwiązać? Poniżej podaję fragment gotowego kodu odpowiedzialnego za odpytywanie stron.

CODE

$live = "/status/live.gif";
$dead = "/status/dead.gif";

$link = $_GET['link'].":";
$s_link = str_replace("::", ":", $link);
list($addr,$port)= explode (':',"$s_link");
if (empty($port)){
$port = 80;
}

$churl = @fsockopen(server($addr), $port, $errno, $errstr, 20);
if (!$churl){
//echo $errstr;
header("Location: $dead");
}
else {
header("Location: $live");
}
function server($addr){
if(strstr($addr,"/")){$addr = substr($addr, 0, strpos($addr, "/"));}
return $addr;
}
?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
sowiq
post 3.07.2009, 19:41:40
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Zadania CRON + zapis (do bazy albo pliku)

Ten post edytował sowiq 3.07.2009, 19:42:53
Go to the top of the page
+Quote Post
zegarek84
post 4.07.2009, 11:59:23
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


jeśli z CRON'em to wchodź z jakimś parametrem by wiedzieć że to cron lub urzyj całkiem innego skryptu tylko dla cron'a i aktualizacji danych - a dla urzytkowników tylko odczyt tych danych....

jesli opcja że to urzytkownicy aktualizują to w pierwszej kolejności z bazy danych/pliku zczytujesz wartość i sprawdzasz czy ta wartość jest na tyle aktualna na ile chcesz - jeśli tak to wyświetlasz zawartość danych i nie sprawdzasz czy strony działają/przerywasz działąnie skryptu - jeśli zaś dane są nie aktualne to pobierasz aktualną wartość sprawdzając strony, wyświetlasz urzytkownikowi i zapisujesz do bazy/pliku aktualne wartości - można w pierw zapisać a potem wyświetlić ale ;p....


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

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 Wersja Lo-Fi Aktualny czas: 8.07.2025 - 05:14