Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP] Cachowanie strony
--Kosa--
post
Post #1





Goście







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 ?)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Rysh
post
Post #2





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


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


--------------------
Go to the top of the page
+Quote Post
Velius
post
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 21.07.2008

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


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.
Go to the top of the page
+Quote Post
--Kosa--
post
Post #4





Goście







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.
Go to the top of the page
+Quote Post
Velius
post
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 21.07.2008

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


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.

Ten post edytował Velius 28.03.2012, 19:57:09
Go to the top of the page
+Quote Post
--Kosa--
post
Post #6





Goście







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 ?
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 Aktualny czas: 20.08.2025 - 09:01