WPML tartós gyorsítótárral: Redis és Memcached
Mi a tartós objektum-gyorsítótár, és hogyan kapcsolod be Redisszel vagy Memcached-del a WPML-es oldalad gyorsításához.
A többnyelvű oldalak sok adatbázis-lekérdezést használnak, ezért sokat nyernek a tartós objektum-gyorsítótáron (persistent object cache). A WPML kódját úgy fejlesztették, hogy bekapcsolt tartós gyorsítótárnál észrevehetően gyorsabb legyen.
Mi a tartós gyorsítótár?
Szekció neve “Mi a tartós gyorsítótár?”A WordPress szinte mindent gyorsítótáraz. Ha egy téma vagy bővítmény többször kér le adatot (például bejegyzéseket), az adatok a memóriába kerülnek, hogy ne kelljen újra az adatbázishoz fordulni. Alapesetben ez a gyorsítótár csak egyetlen oldalbetöltés idejéig él, nem tartós. A következő kérésnél minden újra kezdődik: új adatbázis-hívások, majd a memóriabeli gyorsítótár használata.
A Redis és a Memcached olyan szerveroldali programok, amelyeket a tárhelyszolgáltató telepít. Ezek az oldalbetöltések között is megőrzik a gyorsítótárat, ami a WordPressnek és a WPML-nek is jelentős gyorsulást ad. A használatukhoz a WordPressnek külön kiegészítő vagy bővítmény kell.
Redis bekapcsolása
Szekció neve “Redis bekapcsolása”A Redis a legnépszerűbb szerveroldali tartós gyorsítótár. A használatához a tárhelyszolgáltatónak engedélyeznie kell a szerveren.
A legegyszerűbb mód a Redis Object Cache bővítmény telepítése. Aktiválás után menj a Settings → Redis oldalra, és kattints az Enable Object Cache gombra.
Memcached bekapcsolása
Szekció neve “Memcached bekapcsolása”A Memcached másik tartós gyorsítótár-megoldás, de kevés PHP-tudás kell hozzá. A wordpress.org-os Memcached-bővítmények többsége elavult, ezért nem ajánlottak. Kivétel a W3 Total Cache, amely dobozból támogatja a Memcachedet.
Követelmények: a szerver támogassa a Memcachedet, és a PHP-bővítmény legyen telepítve.
Telepítés
Szekció neve “Telepítés”- Töltsd le az SG Optimizer bővítmény
memcached.tplsablonfájlját a bővítmény wordpress.org-os tárolójából (plugins.svn.wordpress.org/sg-cachepress/trunk/templates/memcached.tpl). - Nevezd át
object-cache.php-ra. - Töltsd fel a
wp-contentmappába.
Beállítás
Szekció neve “Beállítás”A SiteGround magától beállítja a helyes hostot és portot, de saját szervernél ezt neked kell megtenned. Az object-cache.php konstruktorában keresd meg a $memcached_servers tömböt:
$memcached_servers = array( 'default' => array( '@changedefaults@' ));Cseréld a @changedefaults@ szöveget a szervered címére és portjára (ezeket a tárhelyszolgáltatótól kapod). Példa a kész beállításra:
$memcached_servers = array( 'default' => array( 'memcached:11211' ));Ezután az objektum-gyorsítótár tartós lesz: a további oldalkérések újra felhasználják a gyorsítótárazott adatokat.
Hibakeresés
Szekció neve “Hibakeresés”Hibakereséshez add a következő kódot a témád functions.php fájljához. Az oldal láblécében megjeleníti a Memcached tevékenységének adatait:
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) { add_action( 'wp_footer', function() { $GLOBALS['wp_object_cache']->stats(); } );}A WPML saját gyorsítótárát az ICL_DISABLE_CACHE konstanssal lehet kikapcsolni (lásd a WPML-konstansok fejezetet).
Készült: