Cachingje adatok oldalak php
Cache - egy speciális tároló puffer nagyon gyors hozzáférést, amely adat- amely lehet kérni a legnagyobb valószínűséggel.
Mi az elrejtés?
Optimalizálása érdekében a hálózat használatára védekezési mechanizmusa kapott egyszer HTTP dokumentumok cache újbóli felhasználás, nincs utalás a forrás szerver. A dokumentum, amely tárolja a cache elérhető lesz a következő alkalommal, amikor belépnek, amikor nincs kisütés az elsődleges kiszolgálóról. Ennek célja, hogy növelje a sebességet az ügyfél hozzáférést, és csökkenti a hálózati forgalmat.
A mai napig a cache kétfélék - helyi és általános.
- Helyi - a gyorsítótárban tárolt ügyfél lemez jön létre, és kezeli az Internet böngésző.
- Összesen - ez a cache szolgáltató proxy szerver, ez állhat egy vagy több proxy szervereket.
Helyi cache van, valószínűleg minden böngésző használja a közös, a legtöbb ember, aki használja az internetet. És ha egy kis része a weboldalak ma becslések forgalom, a letöltési sebesség - egy nagyon fontos kritérium, amely kell figyelembe venni a tervezés a web-projekt.
Alapelvei megőrzésének oldalakat a cache
PHP-caching alkalmazás kezeli a művelet eredményeként képező további mezők fejlécében HTTP válasz hívja a különleges funkció Header ().
Néhány általános megállapítások, amelyek nem kifejezetten a PHP-alkalmazások:
- Oldalak, amelyet továbbítanak a POST nem tárolja a cache valaha.
- Oldalak, amelyek kért GET és paramétereket tartalmazó (URL-ben az „?”) Nem tárolja a cache, ha nem másként.
A legtöbb esetben, néhány további utasítások nem kell hozzá az alkalmazást. Fő árnyalatok, melyek meg kell figyelni:
- tiltsák cache dokumentumok gyorstárazódnak alapértelmezés szerint
- caching dokumentumok, amelyek nem tartoznak az alapértelmezett cache-t.
A tilalom a cache dokumentumok (amelyek cache alapértelmezés szerint)
Ez a probléma a PHP-szkriptek nevezzük paraméterek nélkül, vagy indexek könyvtárak, de képezik az információt személyesen a felhasználó (például alapján a kliens vagy a cookie-k), vagy alapján működik a gyorsan változó információt. Mi HTTP / 1.1 specifikáció kezelhetik ezeket a mezőket:
- Lejár - meghatározza a lejárati egy adott dokumentumot. Beállítása, hogy a múltban határozza meg a cache tilalom ezen az oldalon.
- Cache-Control: no-cache - cache kezelése. Az érték a no-cache meghatározza tilalmat cache ezt az oldalt. A változat a HTTP / 1.0 Itt működik "Pragma: no-cache".
- Last-Modified - az a dátum az utolsó módosítás bizonyos tartalmak. Mező kizárólag statikus oldalakat. Apache Ez a mező váltja a mező értéke Date oldalak dinamikusan generált, különösen olyan oldalakat, amelyeken SSI.
Letiltásához caching, elég regisztrálni:
Ha egy adott dokumentum „elavult”, akkor létre kell hozni Lejár megegyezik a dátuma mezőben.
Nem szabad elfelejteni, hogy a formák, amelyek által kért bejegyzés nem tárolásra kerülnek.
Gyorsítótárral előrejelzett frissítése
A fő cél itt az, hogy egy időpontot a következő hétfőn az RFC 1123.
Egy másik megközelítés, amelyet használnak a gyorsabb adatok frissítését és egyidejű magas kiszolgáló forgalmat (mindkét esetben caching hatásos nem fog), hogy egy speciális fejléc Cache-Control: max-age = másodperc, amely meghatározza az időt, ami után a dokumentum tekinthető elavultnak és van egy sokkal nagyobb prioritást a számítás a frissesség egy adott dokumentumot.
Ha közzéteszi hírek időközzel 60 perc:
Végrehajtásának gyorsítótár PHP
Létre kell hozni a két fájl. Az első lesz, hogy megkötik a cache, és a második -, hogy megteremtse a gyorsítótárat.
Kezdjük az első fájl, amely az úgynevezett read_cache.php.
Ebben a forgatókönyvet, megkapjuk a fájl nevét, majd ellenőrizze, hogy van egy cache, majd nyomtassa ki, és befejezi a munkát, vagy nyisson meg egy puffer, mely tesz minden a script adatokat.
Most hozzon létre egy speciális write_cache.php fájlt. Azt írja, hogy egy fájlt, ami felgyülemlett a puffer.
Most minden php-fájl, amely felelős a kimenetet, akkor engedélyezze caching:
Most már minden problémát kezd cache oldalakat. De ne felejtsük el, amíg a cache él, a felhasználó nem fogja látni a frissítéseket. Ebben a tekintetben, nem caching PHP csak azokon az oldalakon, amelyek ritkán frissül.