Gyorsítótár joomla - vannak részletesen vizsgálták
Miért használja készpénzt?
De térjünk vissza a Joomla, és pontosabban, mi van dolgunk caching webes alkalmazások - létrehozását ideiglenes statikus példányát dinamikus oldalak (vagy kisebb egységekben információ). Gyorsítótárral jellemző webes alkalmazások, valamint egy tipikus honlap tartalmazza ugyanazt a tartalmat újra és újra, anélkül, hogy cache kellene minden regenerálni az egyes megjelenítési oldalt. gyorsítótár rendszert ideiglenesen tárolja a generált kód információt a cache objektum, és adja vissza, ha ezt kéri a következő felhasználó.
Gyorsítótár típusok Joomla
Cache oldal (Oldal cache)
Lehetővé teszi, hogy az egész oldal képeket, beleértve mindent: komponensek, modulok, beépülők és sablon. Ez a leggyorsabb, de a legkevésbé rugalmas megközelítés cache-t. „- A cache rendszer” engedélyeznie kell a modult aktiválni.

Progresszív cache (Progressive cache)
Ez a fajta cache megjelent a Joomla 1.6. Elveszi képek az egyes egyedi modulkészlet (általában minden oldalon). Ez érinti az összes modult, és működik, mint egy réteg fölött a cache modult, felülírva beállításokat. Ez azt mutatja, a tartalom minden egyes látogató. Engedélyezett, ha telepíti a cache szint beállítása „Progressive” az általános hely beállításait.

Normál cache (Konzervatív cache)
Ha szüksége van finomabb felett minden cache modulok külön-külön, majd a standard szintű gyorsítótár. Egy másik különbség a progresszív cache az, hogy ugyanezt mutatja tárolt tartalmak minden látogató a honlapon.
Cache modul és összetevőjét
Ezek alkotják a jellegzetes csoport mindkét termék teljes statikus példányát alkatrész vagy modul kimenetek. Ez a leggyakoribb típus a cache, mely időnként azonos gyorsítótár Joomla általában.
A pozitív oldala az, hogy jól teljesít a sebesség tekintetében. A negatív oldala az, hogy letiltja a felhasználó közreműködése nélkül<->kiterjesztés<->kereteket, de nem jár le a gyorsítótárban példányt. Ez azt jelenti, hogy nem alkalmas alkatrészek vagy modulokat, amelyek reagálnak a felhasználói input vagy kijelző gyakran változó tartalommal.
Mivel a tárolt másolata modul vagy összetevő csak a saját kimenet, külső fájl is okozott módszerek használatával, mint $ dokumentum-> addStyleSheet () nem lesz kapcsolatban. Ők találták ki a különböző megoldásokat, de mindannyian igényel további számítási erőforrások, ami csökkenti a hatását az a cache-t.
Gyorsítótárral az alkatrész
Gyorsítótár az alkatrész végzi módszerével kijelző ($ gyorsítótárazható, $ safeurlparams) vezérlő. A paraméter $ cachebale kell állítani igaz. és ezen keresztül a paraméter $ urlparams továbbítja tömb URL-paramétereket és a szűrő típusok:
Ebben az esetben egy sor URL-paraméterek létrehoz egy egyedi cache id.

Módok modul caching
Jelenleg 5 különböző modul caching módban. Közülük hárman aktiválni területén cachemode XML-fájl modul Nyilvánvaló:
- statikus - az egyik cache fájlt fogja használni az összes oldalak ugyanabban a modulban paramétereket. Ajánlott modulok, amelyek nem változnak.
- elemazonosítója - ez megváltoztatja, ha változik elemazonosítója. Ez a mód a legalkalmasabb a dinamikus modulok, melyek változnak oldalról oldalra, mint a menük, tartalmak képek stb
- oldstatic - visszafelé kompatibilis a Joomla 1.5 módban.
Újabb két cache módban kell hívni közvetlenül a modul:
Ahhoz, hogy használni ezeket a két mód, a mező helyett cachemode használni owncache mező az XML-fájl nyilvánvaló:
És akkor hívja a módszer JModuleHelper :: moduleCache ($ modul $ moduleparams, $ cacheparams) a modul belépési pont.
A tulajdonságok az objektum, amelyeket át moduleCache () módszer. Nem igényel különleges magyarázatot. Példaként vehetjük a modullal kapcsolatos anyagok (mod_related_items), amely a safeuri mód, és felváltja a funkció noncached modRelatedItemsHelper :: GetList ($ params):

Cache visszahívás (visszahívás cache)
Ez a fajta cache lehetővé teszi, hogy megkülönböztesse a különböző részein a terjeszkedés és a cache csak azokat, amelyeket meg kell cache, miközben része a dinamikus nem cacheable. Cache hivatkozva a funkció kódot.
A kimeneti gyorsítótár (cache Output)
Gyorsítótárazza kiadási néhány forgatókönyvet. Alapvetően ez a kimenet pufferelés caching, és ritkán használják.
Raw-cache (Raw cache)
Elrejt minden adatelemek. Teljesen szabályozható a fejlesztő - mit kell menteni, ha menteni, és hogyan kell minősíteni a tárolt elemek (cache id). Ez a fajta cache gyakran használják a Joomla magját különböző műveletek: az összetevők listáját, a modulok listáját, a menürendszer, a nyelveket, felhasználói csoportok, stb
Lehetséges megoldások (Lehetséges megoldások)
setWorkarounds
JCache :: setWorkarounds módszer ($ adat, $ options = array ()) előkészíti az adatokat a cache együtt megoldásokat, és elfogadja az alábbi lehetőségek közül:
- nopathway - nem az adatok mentéséhez útvonal
- nohead - nem menti fejlécadat
- nomodules - nem az adatok mentéséhez modul
- modulemode - ha nohead 0, akkor a modul nem menti meg a következő adatokat: címet. leírás. link. metatags
getWorkarounds
JCache :: getWorkarounds módszer ($ adat, $ options = array ()) alkalmazza a megoldás a tárolt adatok megoldásokat. Ő újrateremti a fejléc, útvonal és modulok és visszatér a fő tárolt adatokat. Úgy működik, automatikusan - külön megoldás csak akkor kerül sor, ha az adatokat külön kell tárolni.
A különbség a használata a cache visszahívás és a nyers-cache
Általában a tervezés alkatrész elegendő képviselete a cache, különös tekintettel az egyszerű elemeket. De ha egy komponens teremt tartalmak menet közben, akkor a legjobb, hogy válasszon egy más típusú cache. Ebben a helyzetben, a cache lesz kényelmes visszahívás vagy nyers-cache.
visszahívási cache visszatér pontosan ugyanazt az eredményt, ami visszatér nezakeshirovannaya funkció csak az eredmény tároljuk. Közvetlenül a funkció kerül meghívásra csak az első hívás rá.
Hívjuk caching használata JFactory :: getCache (). és ha az általunk használt cache visszahívás, a kódunk nézne ki:
Az utolsó három paraméter a módszer get () választható.
Kérjük, vegye figyelembe, hogy ez nem ugyanaz a get () metódus. Az általunk használt nyers-cache. visszahívási cache automatikusan adatokat kap, ha vannak ilyenek. Ha nem, azt kéri vissza, vissza az adatokat a visszahívási és tárolja azokat, amíg a következő hívás. A visszahívási módszer nem létezik cache tárolja ()!
Ha a nyers-cache fejlesztő közvetlen hozzáférést biztosít a módszerek get () és tárolja (). és a logika felelős közvetlenül a fejlesztő. Ez a gyorsítótár akkor hasznos, ha azt szeretné, hogy mentse az információt, de ne hívja a funkciót (például: xml-adatok, képek, az áru leírása, stb), vagy ha szükséges, át nagy mennyiségű adat az egyik oldalról a másikra.
Alul van a kód a nyers-cache:
Ahhoz, hogy a nyers-cache, mint a második paraméter getCache () metódus, azt át kell adni egy üres karakterlánc.
Mi történik, ha több cache fog futni egy időben?
Típusú cache dolgozni átlátszatlan rétegek egymás tetején (kivéve a cache modul / előadás komponens, amely párhuzamosan fut). Ennek megértéséhez azt kell elképzelni, hogy néz ki egy weboldalt fentről, ahol a cache az oldalt a legfelső szinten, míg a cache visszahívási kimenet és a nyers-cache képviseli az alsó szinten. Kiderült, hogy a felső szinten átfedés alacsonyabb, például akkor, ha a többi cache oldal cache már nem érvényes.
De van egy kivétel, amikor különböző időpontokban különböző típusú cache. Például tudjuk gyorsíthatóságát rövid ideig, és a cache képek sokáig. Ebben az esetben a renderelés az oldal képét fogják húzni a gyorsítótárból.
rakodók cache
Rakodók cache - a szakképzetlen. Ők a piszkos munkát, és mentse az információt a kiválasztott média. Ahhoz, hogy a cache elérhetőnek kell lennie legalább egy cache kezelő.
Alapértelmezésben Joomla használ fájl, mint a cache-kezelőt, amely fájlok tárolására információkat. Ez a processzor üzemel biztonságosan, de lassabb, mint a feldolgozók, amelyek alapján dolgozik RAM. Ha a fájl kezelő nem áll rendelkezésre, azt kell rögzíteni a jogosultságokat a cache mappát. hogy a webszerver írhat neki információkat.
Files is használja Cache_Lite felvezető. Ezen túlmenően, a Joomla lehet használni: APC, eAccelerator, Memcached, XCache, WinCache és Redis. Mindannyian memóriát használja.