Kako v WordPressu vključiti Redis Object Cache in pohitriti spletno stran
Pri zahtevnejših WordPress spletnih straneh lahko precejšen del časa pri odpiranju strani porabijo PHP in poizvedbe v podatkovno bazo MySQL. Ena od možnosti, s katero lahko to obremenitev zmanjšamo, je Redis Object Cache.
Redis omogoča, da WordPress rezultate pogosto uporabljenih poizvedb in druge začasne podatke shrani v zelo hiter pomnilnik RAM. Ko WordPress isti podatek potrebuje ponovno, mu ga zato ni treba vedno znova pridobivati iz podatkovne baze.
Redis je lahko še posebej koristen pri:
- spletnih trgovinah WooCommerce,
- večjih WordPress straneh,
- straneh z večjim številom vtičnikov,
- straneh z veliko obiskovalci,
- spletnih mestih s prijavljenimi uporabniki,
- dinamičnih spletnih straneh,
- počasnejšem delu WordPress administracije.
Pomembno pa je vedeti, da Redis Object Cache ni isto kot običajni LiteSpeed Page Cache.
LiteSpeed Page Cache obiskovalcu po možnosti dostavi že pripravljeno različico celotne strani, zato WordPressa in PHP sploh ni treba ponovno zaganjati. Redis pa pomaga takrat, ko mora WordPress stran ali njen del dejansko ponovno obdelati prek PHP-ja. Zaradi tega je Redis še posebej uporaben pri dinamičnih vsebinah, pri katerih celotne strani ni vedno mogoče servirati iz klasičnega page cachea. Tudi LiteSpeed v svoji dokumentaciji opozarja, da je object cache najbolj uporaben takrat, ko WordPress dejansko izvaja PHP in poizvedbe v podatkovno bazo.
Kako je Redis urejen na Webicom gostovanju?
Na strežnikih, kjer je ta možnost podprta, uporabnikom ne omogočamo dostopa do enega skupnega javnega Redis strežnika.
Namesto tega lahko posameznemu cPanel uporabniškemu računu vključimo ločeno Redis storitev, namenjeno samo temu uporabniku.
Pri kombinaciji LiteSpeed in CloudLinux je Redis storitev ustvarjena posebej za posameznega uporabnika. Redis uporablja Unix socket znotraj njegovega uporabniškega okolja, ki ga aplikacije uporabnika vidijo kot:
/tmp/redis.sock
Pri CloudLinuxu se dejanski socket nahaja znotraj uporabnikovega CageFS okolja, LiteSpeed pa ga uporabniku predstavi kot /tmp/redis.sock.
Tako uporabnikom ni treba poznati IP naslova Redis strežnika, vrat ali gesla.
Za vključitev Redis Object Cache je treba narediti nekaj korakov tako na strani uporabnika kot na naši strani.
1. Preverite, ali imate nameščen LiteSpeed Cache
Najprej se prijavite v WordPress administracijo.
Odprite:
Vtičniki → Nameščeni vtičniki
in preverite, ali imate nameščen in aktiviran vtičnik:
LiteSpeed Cache
Če ga še nimate, ga lahko namestite v:
Vtičniki → Dodaj nov vtičnik
in poiščete:
LiteSpeed Cache
Po namestitvi ga tudi aktivirajte.
Če uporabljate drug sistem predpomnjenja in niste prepričani, ali ga lahko kombinirate z LiteSpeed Cache, nam pred spremembami raje pišite. Hkratna uporaba več različnih sistemov za isti tip predpomnjenja lahko povzroči težave.
2. V cPanelu vključite PHP razširitev Redis
Redis storitev sama po sebi še ni dovolj. Tudi PHP, ki ga uporablja vaša spletna stran, mora znati komunicirati z Redisom.
Prijavite se v cPanel in odprite:
Select PHP Version
oziroma Izberite PHP različico.
Nato odprite razdelek:
Extensions
Na seznamu PHP razširitev poiščite:
redis
in jo vključite.
CloudLinux PHP Selector omogoča uporabnikom izbiro PHP razširitev za izbrano različico PHP neposredno prek cPanela.
Kaj če možnosti redis ne najdete?
Ne spreminjajte PHP različice samo zaradi tega.
Če možnosti redis ne vidite ali je ne morete vključiti, nam pošljite zahtevek za podporo in pripišite domeno, za katero želite uporabljati Redis.
Preverili bomo PHP konfiguracijo vašega računa.
3. Ko vključite PHP Redis, nam to sporočite
Ko ste v Select PHP Version → Extensions vključili razširitev redis, nam pošljite zahtevek za podporo.
Dovolj je na primer:
Pozdravljeni,
za domeno moja-domena.si želim uporabljati Redis Object Cache.
V PHP Selectorju sem že vključil razširitev Redis. Prosim za aktivacijo Redis storitve.
Ni vam treba pošiljati gesel za WordPress ali cPanel.
Na podlagi domene bomo sami ugotovili, za kateri cPanel račun gre.
4. Kaj nato naredimo pri Webicomu?
Ko prejmemo vaš zahtevek, na strežniku preverimo, ali vaš paket in strežnik podpirata uporabniško Redis storitev.
Če je vse ustrezno, za vaš cPanel račun aktiviramo ločeno Redis storitev.
To pomeni, da Redis ni skupen Redis drugega uporabnika, ampak je storitev ustvarjena posebej za vaš uporabniški račun.
LiteSpeed pri CloudLinux okolju za posameznega uporabnika ustvari Redis storitev in ustrezen socket v njegovem uporabniškem okolju.
Po aktivaciji vam bomo sporočili, da je Redis pripravljen.
Za WordPress boste praviloma uporabili:
Host: /tmp/redis.sock
Port: 0
Pri uporabi Unix socketa številka običajnih TCP vrat ni potrebna, zato se uporabi port 0. Tudi uradna LiteSpeed dokumentacija za Redis Service Users na CloudLinux/cPanel konfiguraciji uporablja /tmp/redis.sock in port 0.
5. Redis vključite še v WordPressu
Ko od nas prejmete potrditev, da je Redis storitev aktivirana, se vrnite v WordPress administracijo.
Odprite:
LiteSpeed Cache → Cache → Object
oziroma pri nekaterih različicah vmesnika:
LiteSpeed Cache → Cache → Object Cache
Nastavite:
Object Cache
ON
Method
Izberite:
Redis
Host
Vpišite:
/tmp/redis.sock
Port
Vpišite:
0
Ostale nastavitve lahko praviloma pustite na privzetih vrednostih.
Nato kliknite:
Save Changes
To so tudi nastavitve, ki jih LiteSpeed uradno priporoča za Redis Service Users v kombinaciji cPanel + CloudLinux.
6. Preverite, ali povezava z Redisom deluje
Po shranjevanju nastavitev poglejte razdelek Status.
Pomembni sta predvsem naslednji informaciji.
Pri Redis PHP razširitvi mora biti prikazano:
Redis Extension: Enabled
Povezava pa mora biti uspešna:
Connection Test: Passed
LiteSpeed Cache po vključitvi Object Cache sam preveri tako prisotnost ustrezne PHP razširitve kot povezavo z Redis storitvijo.
Če vidite:
Redis Extension: Disabled
PHP razširitev Redis ni aktivna za PHP različico, ki jo uporablja vaša spletna stran.
Če vidite:
Connection Test: Failed
pa WordPress ne more vzpostaviti povezave z Redis storitvijo.
V obeh primerih nam pošljite zahtevek in pripišite domeno. Če je mogoče, priložite tudi posnetek zaslona razdelka LiteSpeed Cache → Cache → Object.
7. Če piše »Connection Test: Passed«, je Redis že v uporabi
Ko vidite:
Redis Extension: Enabled
Connection Test: Passed
je konfiguracija uspešna.
WordPress lahko od tega trenutka uporablja Redis kot persistent object cache.
Dodatnega vtičnika samo za Redis pri tej konfiguraciji ne potrebujete, saj povezavo z Redisom upravlja LiteSpeed Cache.
Kaj Redis dejansko shranjuje?
Redis Object Cache ne shranjuje celotne HTML strani na enak način kot LiteSpeed Page Cache.
WordPress pri svojem delovanju neprestano pridobiva različne podatke, na primer:
- nastavitve spletne strani,
- podatke vtičnikov,
- podatke uporabnikov,
- določene rezultate poizvedb,
- informacije o objavah,
- transient podatke,
- druge pogosto uporabljene WordPress objekte.
Brez persistent object cachea lahko mora WordPress enake ali podobne podatke znova pridobiti iz MySQL baze pri naslednjem zahtevku.
Redis lahko rezultate shrani v RAM in jih pri naslednji uporabi vrne bistveno hitreje.
LiteSpeed pojasnjuje, da object cache pomaga predvsem pri dolgotrajnih ali pogosto ponavljajočih se poizvedbah, saj njihove rezultate shrani in jih WordPressu ponovno ponudi brez ponovnega izvajanja istega dela.
Ali Redis pohitri vsako WordPress stran?
Ne nujno enako.
Če imate preprosto predstavitveno spletno stran in se skoraj vse strani že uspešno servirajo neposredno iz LiteSpeed Page Cachea, je učinek Redis Object Cache lahko manj opazen.
Pri takem zahtevku PHP sploh ni treba izvajati, zato tudi Redis nima veliko dela.
Redis postane zanimivejši pri vsebinah, ki jih ni mogoče vedno servirati kot že pripravljeno HTML stran.
Tipičen primer je WooCommerce.
Ko uporabnik:
- odpre svojo košarico,
- se prijavi,
- pregleduje svoj uporabniški račun,
- uporablja iskanje ali filtre,
- spreminja košarico,
- opravlja naročilo,
je precej več vsebine dinamične. WordPress mora opraviti več PHP in podatkovnih operacij, zato lahko Redis Object Cache pomaga bolj kot na popolnoma statični strani.
Ali Redis pomaga tudi WordPress administraciji?
Lahko.
Administracijski del /wp-admin/ večinoma ni klasično predpomnjen kot javna stran za obiskovalce, zato mora WordPress pogosteje dejansko izvajati PHP in dostopati do podatkovne baze.
Prav zato se lahko prednost object cachea pokaže tudi pri delu v WordPress administraciji.
LiteSpeed ima možnost Cache WP Admin, ki je privzeto namenjena uporabi object cachea tudi v administraciji, vendar opozarja, da lahko v določenih primerih zaradi predpomnjenih podatkov pride tudi do prikaza zastarelega podatka.
Zato naprednih nastavitev brez razloga ni priporočljivo spreminjati.
Ali moram sam nastavljati Redis Database ID, geslo ali IP naslov?
Pri naši opisani konfiguraciji praviloma ne.
Uporabite:
Method: Redis
Host: /tmp/redis.sock
Port: 0
Uporabniškega imena in gesla ne vpisujte, razen če vam naša podpora izrecno sporoči drugače.
Prav tako praviloma ni treba spreminjati Redis Database ID.
LiteSpeed za WordPress object cache uporablja tudi lasten prefix ključev, s katerim ločuje podatke posameznih WordPress namestitev. Privzeto ga ustvari na podlagi poti spletne strani.
Kaj če imam več WordPress strani v istem cPanel računu?
Redis storitev je vezana na cPanel uporabniški račun, ne nujno na posamezno domeno.
Če imate v istem cPanel računu več WordPress strani, lahko zato isto uporabniško Redis storitev uporablja več vaših spletnih strani.
Vsaka WordPress namestitev mora imeti ustrezno nastavljen LiteSpeed Cache Object Cache.
Če niste prepričani, kako to urediti pri več WordPress namestitvah, nam sporočite domene in bomo preverili konfiguracijo.
Ali lahko Redis kadar koli izključim?
Da.
V WordPressu lahko odprete:
LiteSpeed Cache → Cache → Object
in nastavite:
Object Cache: OFF
WordPress bo nato ponovno deloval brez persistent Redis Object Cache.
S tem ne izbrišete WordPress strani, podatkovne baze, objav, izdelkov ali naročil.
Redis pri tej uporabi predstavlja predpomnilnik, ne glavno podatkovno bazo vaše WordPress strani.
Če Redis storitve ne želite več uporabljati, nam lahko tudi sporočite in jo bomo za vaš cPanel račun izključili.
Kaj storiti po večjih spremembah spletne strani?
Po večjih nadgradnjah, spremembah ali selitvah je včasih koristno izbrisati star predpomnilnik.
To lahko običajno naredite prek LiteSpeed Cache:
LiteSpeed Cache → Toolbox → Purge
Pri težavah lahko po potrebi izbrišemo tudi Redis cache na ravni uporabniške Redis storitve. LiteSpeed Redis Manager ima prav tako možnost za praznjenje Redis predpomnilnika, kar je namenjeno prav primerom, ko je treba po spremembi programske opreme ali podatkov odstraniti stare cache podatke.
Povzetek postopka
Celoten postopek lahko strnemo v nekaj korakov.
Uporabnik:
- Preveri, ali uporablja WordPress in LiteSpeed Cache.
- V cPanelu odpre Select PHP Version → Extensions.
- Vključi PHP razširitev redis.
- Webicomu sporoči domeno in zaprosi za aktivacijo Redis storitve.
Webicom:
- Preverimo strežnik in cPanel račun.
- Za uporabnika aktiviramo njegovo Redis storitev.
- Uporabniku potrdimo, da je Redis pripravljen.
Uporabnik:
- Odpre LiteSpeed Cache → Cache → Object.
- Nastavi:
Object Cache: ON
Method: Redis
Host: /tmp/redis.sock
Port: 0
- Shrani spremembe.
- Preveri, da piše:
Redis Extension: Enabled
Connection Test: Passed
Če sta oba testa uspešna, WordPress uporablja Redis Object Cache.
Potrebujete pomoč pri vključitvi?
Če imate pri Webicomu WordPress gostovanje in bi želeli preveriti, ali lahko za svojo spletno stran uporabljate Redis Object Cache, nam pošljite zahtevek za podporo.
V zahtevku navedite predvsem domeno spletne strani, za katero želite uporabljati Redis.
Če ste že vključili PHP razširitev redis v cPanelu, nam napišite tudi to.
Preverili bomo vaš račun, aktivirali Redis storitev, kjer je ta možnost na voljo, in vam sporočili podatke za pravilno nastavitev WordPressa.
Redis ni čarobna rešitev za vsako počasno spletno stran, lahko pa je pri zahtevnejših WordPress in WooCommerce straneh zelo uporaben dodaten nivo optimizacije, predvsem kadar mora WordPress pogosto izvajati PHP in dostopati do podatkovne baze.



