Caching site-ul Nginx, memcached, expira, ETAG

Ce este cache

Cache (caching) - o tehnologie sau un proces de creare a unei copii a datelor pe suport disponibile rapid (în numerar, numerar). Pur și simplu pune, și aplicarea la realitățile construirea site-ului, poate fi pentru a crea o copie statică a HTML-pagină sau partea sa, care este generat de PHP-script (sau alte altele, cum ar fi Perl, ASP.net), în ciuda a ceea ce limba este scris site-ul CMS ) și stocate pe disc, în memoria RAM sau chiar parțial în browser (discutată în detaliu mai jos). Atunci când se întâmplă solicitarea paginii de la client (browser), în loc să reasambla scripturi ei, browser-ul va primi copia ei gata, care este mult mai economic de resurse de găzduire și mai rapid ca transferul paginii terminat durează mai puțin timp (uneori, mult mai puțin) decât să-l creeze din nou.

De ce să folosiți cache pe site

  • Pentru a reduce sarcina pe găzduirea
  • Pentru un impact rapid site-ul de conținut browser-

Puncte slabe și efectul negativ al site-ului cache

Cum se configurează cache de pe site-ul dvs.

Pentru început, trebuie să înțelegem care tehnologiile au fost utilizate în mod tradițional pentru a cache-uri de conținut.
Toate metodele posibile pot fi împărțite în 3 grupe

Caching pe partea de server

Caching folosind Nginx

Caching via htaccess (Apache)

Dacă aveți acces numai la .htaccess. și serverul de producție numai Apache, puteți utiliza tehnici, cum ar fi compresia gzip și prezintă HTTP Expiră antet. Pentru a utiliza cache-ul browser-ului.

Turn de compresie gzip pentru fișierele respective ale MIME tipuri-

Include Expiră antete pentru fișiere statice pentru o perioadă de 1 an (365 de zile)

Caching folosind Memcached

Caching folosind php accelerator

Dacă motorul software-ul scris în PHP, atunci de fiecare dată când încărcați orice pagină de site-ul de execuție script apare php: cod interpret citește script-urile scrise de programator generează bytecode dintre ele, clar aparatul și execută produce rezultate. Accelerator PHP elimină codul compilat de generare constantă bytecode cache în memorie sau pe disc, crescând astfel productivitatea și reducând timpul necesar pentru PHP execuție. există acceleratoare de astăzi acceptate:

  • Cache pentru Windows extensie pentru PHP
  • XCache
  • Zend OPcache

În versiunea PHP 5.5 sau mai mare este deja integrat accelerator Zend OPcache. astfel încât să permită acceleratorul, faceți upgrade pur și simplu PHP

Caching pe partea laterală a site-ului

De regulă, există puterea de a crea un site CMS HTML statice pagini de copii. O astfel de oportunitate de a se bucura de cele mai populare motoare și cadre. Personal, am lucrat cu Smarty, WordPress, așa că am să vă asigur că ei fac o treaba excelenta cu munca lor. În WordPress original, din cutie nu există capacități de memorare în cache, care sunt esențiale pentru orice puțin încărcat cu proiectul, dar există o mulțime de populare plug-in-uri pentru cache:

Ce pot să spun - folosesc dreptul CMS, și cache de calitate vor fi disponibile aproape din cutie.

Caching de browser-side (client) antete de memorare în cache

în cache a browserului este posibil, deoarece orice browser care se respectă permite și încurajează. Poate că acest lucru se datorează antetele HTTP. că serverul oferă clientului, și anume:

Expiră antet este responsabil pentru cât timp cache-ul este relevant, iar browserul poate utiliza resursa din cache, fără a fi nevoie să le solicite de la server la noua versiune. Este un puternic și foarte de dorit pentru utilizare ca valabile, fără a eșua. Antetul este recomandat pentru a specifica o perioadă de câteva săptămâni până la un an. Mai mult de un an este mai bine să nu pentru a indica faptul că este o încălcare a regulilor de RFC.

De exemplu, pentru a configura Expiră Nginx pentru toate fișierele statice timp de un an (365 de zile), fișier de configurare Nginx trebuie să fie codul prezent

Pentru a configura Apache Expiră în toate fișierele statice timp de un an (365 de zile), în fișierul de configurare Apache, fie în htaccess trebuie să vă înregistrați

Cache-Control: max-age;

Cache-Control: max-age este responsabil pentru același lucru.
Mai preferabil, utilizarea Expira, Cache-Control, mai degrabă decât din cauza prevalenta mai mare. Cu toate acestea, în cazul în care expiră și antetele Cache-Control va fi prezent în același timp, prioritatea va fi acordată Cache-Control.

În Nginx Cache-Control inclus precum Expiră. Directiva expiră: 365d;

Exemplu de setare Cache-Control în Apache, când a apelat la mod_expires un modul de cache.

Last-Modified și ETag

În Nginx pentru fișierele statice ETag și Last-Modified activată implicit. Pentru pagini dinamice, sau cele mai bune lor de a nu specifica, sau trebuie să facă un script care generează o pagină, sau, cel mai bun dintre toate, utilizați un cache configurat corect, atunci Nginx va avea grijă de titluri. De exemplu, pentru WordPress, puteți utiliza WP Super Cache.

Aceste antete permit browserului să actualizeze în mod eficient resursele stocate în memoria cache prin trimiterea de solicitări de fiecare dată când GET utilizatorul reîncarcă în mod explicit pagina. solicitări GET condiționate nu returnează răspunsul integral excepția cazului în care resursa nu sa schimbat pe server, și astfel asigură latență mai redusă decât în ​​cazul cererilor complete, reducând astfel sarcina timpii de răspuns de găzduire și de reducere.

Utilizarea simultană a Expiră și Cache-Control: max-age este redundantă, precum și supra-utilizarea simultană Last-Modified și ETag. Utilizare coroborat Expiră + ETag sau Expiră + Last-Modified.

Este ușor de înțeles și stabilite într-un limbaj accesibil. Vă mulțumim!
Am venit aici întrebarea, și nu spune cum să configurați acest link Expiră + ETag sau Expiră + Ultima-Modified?

După cum acesta expiră configurat în Nginx, se arată în articol. Dacă aveți doar Apache, puteți specifica în .htaccess

Ultima-modificat sau ETag indicat la locul motorului, de exemplu, înființat în ultimul modificat WordPress

Vă mulțumim pentru un articol excelent. )

Vă rugăm) E-mail, la care se teme de articol v-ar fi interesat de lectură mai mult

Din păcate, nu știu ce fel de gazduire, dar dacă doriți să faceți modificări la Nginx. apoi prin .htaccess nu faci doar ca .htaccess pentru Apache.
Vă recomandăm să încercați luna gratuit pentru a testa virtual de gazduire beget (revizuire). în cazul în care totul poate fi configurat și prin htaccess, și panoul de control (este foarte convenabil).