Redis cache pre Joomlu: prečo web zrýchli a ako ju správne zapnúť (aj pre sessions)

Redis cache pre Joomlu: prečo web zrýchli a ako ju správne zapnúť (aj pre sessions)
Ilustračné foto: vytvorené umelou inteligenciou (AZOIA)

Joomla vie cache-ovať sama, ale v predvolenom stave ju odkladá do súborov alebo databázy — a pri vyššej návštevnosti sa práve databáza stáva úzkym hrdlom.

Redis drží cache aj relácie (sessions) v pamäti, takže Joomla nemusí pri každom načítaní behať do MariaDB. Rozdiel na rušnejšom webe je citeľný.

Všetky svoje Joomly mám na Redise — cache aj sessions. Tu je, ako to zapnúť správne.

Čo treba mať na serveri

  • Redis beží (na tom istom serveri alebo dostupný cez sieť/socket),
  • PHP rozšírenie redis (php-redis) nainštalované a načítané v tej PHP verzii, ktorú stránka používa.

Bez php-redis Joomla Redis „nevidí" a v nastaveniach ti nenaskočí. Na CloudPaneli je php-redis zvyčajne k dispozícii pre danú PHP verziu.

Zapni Redis ako cache handler

V administrácii choď na System → Global Configuration → System, sekcia Cache Settings:

  • Cache → zapni (ON — Conservative caching zvyčajne stačí),
  • Cache HandlerRedis,
  • vyplň host a port Redisu (prípadne socket, databázu a heslo, ak ho Redis má).

Ulož a over, že web stále beží — ak Redis nie je dostupný, Joomla ťa na to upozorní.

Daj do Redisu aj sessions

Toto ľudia často vynechajú, pričom je to polovica zisku. V tom istom Global Configuration → System, sekcia Session Settings:

  • Session HandlerRedis (opäť host/port/heslo).

Relácie prihlásených používateľov tak nezaťažujú databázu. Na weboch s prihlasovaním alebo košíkom je to výrazný rozdiel.

⚠️ Prečo mazanie priečinka cache/ nič nerieši

Keď máš cache v Redise a chceš ju vyčistiť, mazanie súborov v cache/ neurobí nič — dáta sú v pamäti Redisu, nie na disku. Cache čisti cez administráciu: System → Clear Cache (a pri väčších zmenách aj Clear Expired Cache). Toto je klasická pasca: „vymazal som cache a nič sa nezmenilo" — lebo si mazal prázdny priečinok.

Na čo si dať pozor

  • Po väčších zmenách vyčisti cache, inak vidíš staré. (Cez admin, viď vyššie.)
  • Zdieľaný Redis medzi viacerými webmi — použi rôzne čísla databázy Redisu per web, nech si cache navzájom neprepisujú.
  • Cache nie je náhrada za pomalý web — ak je web pomalý kvôli ťažkej šablóne alebo zlému hostingu, cache to len prekryje. Najprv príčina, potom cache.

Redis + CloudPanel a nginx je základ, na ktorom mi Joomly reálne lietajú.

Nechceš to ladiť sám?

Zrýchlenie a správu prevádzky Joomly (Redis, cache, server) robíme ako službu. webportaly.sk.


Súvisiace: Joomla na CloudPanel + nginx · Prečo je Joomla web pomalý