Gyorsítótárak (cache) törlése

[Ezt a cikket 6 perc elolvasni.]

A gyorsítótárazás igen hasznos dolog. Több fajtája is létezik, a leggyakoribb típusával valószínűleg minden internetező találkozott már (még akkor is, ha nem tud róla), ez pedig a böngésző gyorsítótár. A weboldal beállításaitól függően az összes böngésző elmenti a statikus tartalmakat egy megadott időre (képek, JavaScript/CSS fájlok), így ezeket nem kell minden egyes alkalommal újra letöltenie a szerverről, hanem elég a lokális példányt betölteni a gépünkről. Ez mindenki számára előnyös. A szerver terhelését és adatforgalmát csökkenti, ráadásul a weboldal betöltése is gyorsabb lesz.

Létezik szerver oldali gyorsítótárazás, amiből mi csak annyit érzékelünk, hogy a weboldal betöltése általában igen gyors és ha rendelkezünk valamilyen CDN szolgáltatással, akkor ott is van cache. A szerver oldali gyorsítótár lényege annyi, hogy az erőforrás igényes PHP kódsorok állandó futtatása helyett egy előre legenerált, statikus változatot küld a szerver a böngészők felé, ezzel is csökkentve a szervergép terhelését, míg a CDN esetében klónozva/elosztva vannak oldalunk bizonyos tartalmai a távoli szerverek között a gyorsabb kiszolgálás érdekében.

WordPress esetén bővítményekkel szoktunk gyorsítótárat generálni, itt a leggyakoribb az úgynevezett “page cache”, azaz az oldalak, bejegyzések és egyéb tartalmak gyorsítótárazása, de vannak már igen komplex megoldások az adatbázis műveletek gyorsítására is. A legnépszerűbb bővítmények a témában a W3Total Cache, a WP Fastest Cache és a WP Super Cache, de temérdek egyéb plugin is van ugyanerre a célra.

Az összes eddig felsorolt megoldásra igaz az, hogy időnként szükség lesz rá, hogy manuálisan ürítsük a gyorsítótárakat, mivel szembesülhetünk azzal az igen gyakori problémával, hogy hiába módosítottunk valamit az oldalon, ez mégsem látszik a megtekintéskor vagy éppen mi, mint bejelentkezett felhasználók látjuk a változtatást, de a látogatóink nem. Mondani se kell, hogy ez mennyire frusztráló tud lenni, ráadásul sokan nem is tudják, hogy mindez a gyorsítótárazás miatt van. Előfordulhat az is, hogy rosszul lett konfigurálva valamelyik bővítmény, ezáltal sosem üríti automatikusan a gyorsítótárát vagy éppen túl hosszú időintervallumot adtunk meg az automatikus ürítésnek, így egyes változások egyáltalán nem is jelennek meg az oldalon. Most igyekszem összeszedni, hogy milyen módszerek vannak arra, hogy üríteni tudjuk a gyorsítótárakat szükség esetén.

A legkönnyebb dolgunk a böngészőkkel van, sokszor elegendő egy Ctrl+R vagy Ctrl+F5 billentyűkombináció megnyomása a problémás oldalon, ez kényszeríti az elemek ismételt letöltését a szerverről. Ha ez mégsem vezetne sikerre, akkor mélyebbre kell ásnunk. Chrome esetén a Ctrl+Shift+Del kombináció lenyomása hozza elő a megfelelő ablakot (de a három kis pötty, majd a “További eszközök / Böngészési adatok törlése” is ugyanide visz), itt pedig kiválaszthatunk időintervallumot és a szükséges helyekre pipát téve végre is hajthatjuk az ürítést.

Firefoxnál sem sokkal bonyolultabb a helyzet, ott a “Beállítások / Adatvédelem” alatt találjuk a törlési lehetőséget. A többi böngésző is hasonló elven működik, pár kattintás után mindenütt könnyedén megtalálható a gyorsítótár törlési opciója. Ha nem jelenik meg a végrehajtott módosítás a weboldalon, akkor az első dolog, amivel érdemes próbálkozni az az imént bemutatott művelet végrehajtása.

Ha továbbra sem látjuk, amit kellene, akkor irány a WordPress vezérlőpult és próbáljuk meg üríteni az erre a célra telepített bővítmény gyorsítótárát. W3 Total Cache esetén a legfelső sávon a “Performance / Purge All Caches” gombra kattintva érjük el a kívánt hatást, WP Super Cache használatakor pedig a “Beállítások / WP Super Cache”, majd a “Delete Cache” gomb lesz a barátunk.

Cloudflare használatakor a “Caching” menüt keressük, itt lesz lehetőségünk egyesével törölni (Purge Individual Files), de ha azt szeretnénk, akkor az összes gyorsítótárazott fájlt is törölhetjük egyszerre (Purge Everything).

Egyes főként WordPress-re specializálódott, úgynevezett “managed” tárhelycsomagok is alkalmazzák a saját gyorsítótárazási technikájukat, ilyen esetben mindig van egy külön szekció, ahol üríteni is tudjuk ezt. A népszerű WPEngine esetében a saját WPEngine menü alatt találjuk a “Purge All Caches” gombot, de a GoDaddy által kínált WordPress-re optimalizált tárhelyeknél is van lehetőség a törlésre, ott a GoDaddy menüt kell keresni és a “Flush Cache” opciót. Szerencsére nem szokták elrejteni ezt a lehetőséget, úgyhogy kis szerencsével a többi tárhely esetén is könnyedén megtalálható (persze csak akkor, ha rendelkezik olyan gyorsítótárral, amit tudunk kézzel üríteni).

Személyes tippem, hogy a weboldalunk méretétől függetlenül mindenképpen állítsunk be megfelelő időintervallummal böngésző gyorsítótárazást a statikus tartalmakra, legyen aktív page cache (bármelyik szimpatikus bővítmény segítségével) és pár perces művelet mindössze egy ingyenes Cloudflare CDN konfigurálása is. Mindezek mellé ha rendelkezünk root hozzáféréssel és elegendő memóriával, akkor beállíthatunk egy memcache kiegészítőt, amit a W3Total Cache is támogat. A merészebbek akár Varnish-t is tehetnek a webszerver elé bár ez leginkább nagyobb látogatottságú oldalak esetén ajánlott. Ha sikeresen és helyesen állítottuk be a fentieket, akkor a weboldalunk villámgyorsan fog betöltődni, ezt pedig a látogatók és a keresők is díjazni fogják, probléma esetén pedig már azt is tudni fogjuk, hogy miként is ürítsük az egyes gyorsítótárakat.

Ha tetszik, mutasd meg másoknak is: