Caching de pagini de date în PHP

Cache - un tampon specială de depozitare, cu acces foarte rapid, cuprinzând date care pot fi solicitate cu cea mai mare probabilitate.

Ce este cache?

Pentru a optimiza rețeaua mecanism de utilizare conservare a primit o dată pentru documentele stocate în memoria cache HTTP pentru reutilizare, cu nici o referire la serverul sursă. Un document care este stocat în cache-ul va fi disponibil data viitoare când este accesat, în timp ce nici o descărcare de pe serverul principal. Acest lucru este destinat pentru a crește viteza de acces pentru clienți la acesta, și de a reduce fluxul de trafic de rețea.







Până în prezent, cache-urile sunt de două tipuri - locale și generale.

  • Local - un cache, care este stocat pe disc client este creat și gestionat browser-ul său de Internet.
  • Total - server proxy acest furnizor cache, aceasta poate consta dintr-unul sau mai multe servere proxy.

local cache acolo, probabil, în fiecare browser-ul web utilizează comune, majoritatea oamenilor care folosesc Internetul. Și dacă o mică parte din site-urile web de astăzi este estimat fluxul de trafic, viteza de descărcare - un criteriu foarte important, care ar trebui să fie luate în considerare în proiectarea proiectului dvs. de web.

Principiile cheie de conservare a paginilor în cache

PHP cerere-cache poate gestiona rezultatele sale de operare care formează câmpuri suplimentare în răspunsul antetul HTTP de asteptare antet funcție specială ().

Câteva afirmații generale care nu sunt specifice PHP-aplicații:

  • Paginile, care sunt transmise pe POST nu este stocată în memoria cache vreodată.
  • Pagini care sunt solicitate pe GET și care conține parametrii (într-o adresă URL este „?“) Nu este stocat în memoria cache, în cazul în care nu se prevede altfel.

În cele mai multe situații, unele instrucțiuni suplimentare nu trebuie să adăugați aplicația. nuanțe principale pentru care este necesar să se acorde atenție:

  • interzicerea cache a documentelor care sunt memorate în cache în mod implicit;
  • caching de documente care nu fac obiectul cache implicit.






Caching de pagini de date în PHP

Interdicția privind cache-ul documentelor (care sunt memorate în cache în mod implicit)

Această problemă apare pentru PHP script-uri care sunt numite fără parametri, sau indici sunt directoare, ci formează informațiile personale pentru utilizator (de exemplu, în funcție de agentul utilizator sau cookie-urile) sau funcționează pe baza informațiilor care se schimbă rapid. Noi HTTP / 1.1 caietul de sarcini pot gestiona aceste domenii:

  1. Expiră - specifică data de expirare a unui anumit document. Setarea-l în trecut determină interdicția cache pe această pagină.
  2. Cache-Control: no-cache - managementul cache. Valoarea nu-cache definește cache interzicerea acestei pagini. Pentru versiunea HTTP / 1.0 funcționează aici „Pragma: nu-cache“.
  3. Last-Modified - este data ultimei modificări a anumitor conținut. Câmpul este utilizat exclusiv pentru pagini statice. Apache Acest câmp înlocuiește valoarea câmpului Data pentru paginile generate dinamic, în special pentru paginile care conțin SSI.

Pentru a dezactiva cache, suficient pentru a înregistra:

Pentru a marca un document ca „învechit“, este necesar să se stabilească Expiră egală cu câmpul Dată.

Nu trebuie să uităm că formele care sunt solicitate de către POST nu poate fi salvată în memoria cache.

Caching cu actualizare a prezis

Obiectivul principal este de a obține o dată pentru următoarea zi de luni ca RFC-1123.

O altă abordare, care este utilizat pentru actualizarea mai rapidă a datelor și un trafic mare de server simultan (în ambele cazuri, punerea în cache efectivă nu va) este de a utiliza un antet specială Cache-Control: max-age = secunde, ceea ce determină timpul după care documentul este considerat învechit și având o prioritate mult mai mare în calculul prospeţimea unui anumit document.

Dacă publicați știri cu un interval de 60 de minute:

Punerea în aplicare a cache în PHP

Trebuie să creați două fișiere speciale. Primul va fi de a încheia cache-ul, iar al doilea - pentru a crea cache.

Să începem cu primul fișier, care este numit read_cache.php.

În acest scenariu, vom obține numele fișierului, și apoi verificați dacă există o memorie cache, și apoi imprimați-l și termina lucrarea, sau deschide un tampon care va pune toată producția datelor script.

Acum, creați un fișier special write_cache.php. El va scrie într-un fișier care a acumulat în tampon.

Acum, în orice php-fișier, care este responsabil pentru ieșire, puteți activa cache:

Acum puteți începe toate problemele paginilor cache. Dar nu uita, atâta timp cât cache-ul este viu, utilizatorul nu va vedea orice actualizări. În acest sens, face cache în PHP numai pentru acele pagini care sunt rareori actualizate.