Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Cachowanie strony
Forum PHP.pl > Forum > Przedszkole
-Kosa-
Strona główna mojego serwisu ze względu na duża ilość połączeń z bazą i zapytań długo się ładuje.
Chciałem zniwelować ten problem za pomocą cachowania tejże strony.
Powiedzmy raz na godzinę automat pobierał by zawartość strony głównej i umieszczał ją w pliku.
Normalne wywołania byłyby już podpięte pod ten plik i sprawa by się rozwiązała tylko jak to prosto zrobić ?

(memcached chyba nie ma sensu dla jednej podstrony (w tym wypadku strona główna) może cron + kod w php ?)
Rysh
Cytat(-Kosa- @ 28.03.2012, 17:00:24 ) *
Strona główna mojego serwisu ze względu na duża ilość połączeń z bazą i zapytań długo się ładuje.
Chciałem zniwelować ten problem za pomocą cachowania tejże strony.
Powiedzmy raz na godzinę automat pobierał by zawartość strony głównej i umieszczał ją w pliku.
Normalne wywołania byłyby już podpięte pod ten plik i sprawa by się rozwiązała tylko jak to prosto zrobić ?

(memcached chyba nie ma sensu dla jednej podstrony (w tym wypadku strona główna) może cron + kod w php ?)

Cache by nospor:
http://nospor.pl/cache.html
Velius
Sprawdź czy twój hosting ma zainstalowane memcached. To bardzo dobre rozwiązanie bo korzystasz z zasobów całego serwera a nie obciążasz tak bardzo apache. W przypadku cachowania za pomocą php i mysql w tyłek dostaje mysql i na jedno wychodzi bo strona nadal długo się wczytuje.
-Kosa-
Mam zainstalowany memcached. Używałem go na jednej stronce, ale tam już był zaimplementowany.
Mam problem z jego podpięciem do nowej strony. Szukam jakiegoś dobrego tutorialu.
Velius
Ja używam go w taki sposób:
  1. $memcache = new Memcache;
  2. $memcache->connect('127.0.0.1','11211'); //łączymy się z serwerem memcache
  3.  
  4. $val = $memcache->get('nazwa_cachowania');
  5. if ( $val != FALSE ) { //sprawdzamy czy cache istnieje, jeżeli tak to wyświetlamy
  6. echo $val;
  7. } else { //jeżeli nie to zapisujemy cache na 600 sekund pod nazwą nazwa_cachowania
  8. $zmienna = "To co chcesz cachować";
  9. $memcache->set('nazwa_cachowania',$zmienna,0,600);
  10. echo $zmienna; //wyświetlamy żeby nie mieć pustej strony w momencie, w którym nie ma nic w cache
  11. }


Nie wiem czy to jest odpowiedni sposób. Może niech wypowie się ktoś bardziej obyty w temacie.
-Kosa-
Ale jak to wdrożyć ?

Załóżmy mam plik podstrona.php i tutaj jest mocno obciążające zapytanie sql.
Jak mam to połączyć z kodem który podałeś, tak żeby działało to na memcached bo za bardzo tego nie kumam ?

Czy, żeby to podpiąć to muszę jakoś ostro przebudowywać plik podstrona.php tak żeby współpracował z tym kodem,
czy inaczej się to realizuje ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.