Novo spletno mesto ali nadgradnja obstoječega? Rezervirajte brezplačen video posvet.
040807231
Sloveniansi
Prijava Konfigurator

Kako omogočiti Redis v Magento 2

Redis je zmogljivo orodje za shranjevanje podatkov v pomnilniku, ki drastično pohitri vašo Magento trgovino s preusmeritvijo sej (sessions) in predpomnilnika (cache) iz počasnejše zbirke podatkov ali datotečnega sistema v hiter RAM.

V tem zapisu bomo pogledali, kako najti podatke o vašem Redis strežniku in kako jih pravilno vključiti v Magento.

1. Kako omogočiti Redis v cPanel okolju (shared hosting)

Na deljenih strežnikih Redis praviloma ne deluje prek klasičnega TCP porta 6379, temveč prek Unix socketa, ki ga omogoči ponudnik gostovanja. Preden Redis povežeš z Magento, moraš preveriti, ali je PHP podpora za Redis sploh aktivna.

Aktivacija Redis razširitve v cPanelu

V večini cPanel okolij (zlasti na CloudLinux strežnikih) Redis omogočiš prek PHP selektorja:

  1. Prijaviš se v cPanel
  2. Odpreš Select PHP Version (včasih poimenovano tudi PHP Selector)
  3. Preklopiš na zavihek Extensions
  4. Označiš razširitev redis
  5. Shraniš spremembe

S tem aktiviraš PHP razširitev phpredis, ki omogoča, da se Magento sploh lahko poveže z Redis strežnikom.

Če ta razširitev ni omogočena, bo Magento pri poskusu uporabe Redis backend-a javil napako povezave ali pa se cache sploh ne bo inicializiral.

Opomba:
Če uporabljate NEOSERV Turbo LiteSpeed paket, je Redis v cPanelu na voljo brez doplačila (prek Unix socketa). Aktivirate ga lahko neposredno v nastavitvah gostovanja.

2. Kako najti podatke za Redis?

Preden začnete s konfiguracijo, morate vedeti, kje Redis teče. Običajno teče na določenih vratih (port 6379) ali preko Unix vtičnice (socket), kar je pogosto na deljenih gostovanjih.

Iskanje procesa preko konzole

Najlažji način, da najdete te podatke, je z uporabo ukaza ps:

ps aux | grep redis

V izpisu iščite nekaj podobnega temu:

  • redis-server *:6379 (pomeni, da teče na portu 6379)
  • redis-server unixsocket:/home/uporabnik/.tmp/redis.sock (pomeni, da uporablja Unix socket)

Preverjanje povezave

Ko imate podatke, lahko preverite, če se lahko povežete:

Za port:

redis-cli -p 6379 ping

Za Unix socket:

redis-cli -s /pot/do/redis.sock ping

Če dobite odgovor PONG, vse deluje!

3. Popolna konfiguracija za app/etc/env.php

Spodaj je celotna koda, ki jo vstavite v svojo datoteko.

A. Konfiguracija sej (Sessions)

Seje so kritične, saj se osvežujejo ob vsakem kliku uporabnika.

'session' => [
'save' => 'redis',
'redis' => [
'host' => '/home/imeracuna/.cagefs/tmp/redis.sock', // Pot do socketa ali IP
'port' => '0', // 0 za socket, 6379 za port
'password' => '', // Geslo, če je nastavljeno
'timeout' => '2.5', // Čas čakanja na povezavo (sekunde)
'persistent_identifier' => '', // ID za trajno povezavo
'database' => '2', // Številka baze (priporočamo 2)
'compression_threshold' => '2048', // Stisni podatke nad 2KB
'compression_library' => 'gzip', // Knjižnica za stiskanje (gzip ali lzf)
'log_level' => '1', // 1 za napake, 4 za vse
'max_concurrency' => '6', // Max št. hkratnih procesov na sejo
'break_after_frontend' => '5', // Čas za sprostitev zaklepa (sekunde)
'break_after_adminhtml' => '30', // Čas za admin zaklep
'first_lifetime' => '600', // Čas trajanja nove seje
'bot_first_lifetime' => '60', // Čas za robote
'bot_lifetime' => '7200', // Skupni čas za robote
'disable_locking' => '0', // 0 omogoči zaklepanje (varneje)
'min_lifetime' => '60', // Minimalni čas seje
'max_lifetime' => '2592000', // Maksimalni čas (30 dni)
'sentinel_master' => '', // Za Redis Sentinel gruče
'sentinel_servers' => '',
'sentinel_connect_retries' => '5',
'sentinel_verify_master' => '0'
]
],

Razlaga ključnih polj:

  • database: Redis omogoča več ločenih baz (običajno 0-15). Za seje uporabimo bazo 2, da se ne mešajo s predpomnilnikom.
  • compression_threshold: Magento bo stisnil podatke, preden jih pošlje v Redis, če so večji od te vrednosti. To varčuje s spominom.
  • max_concurrency: Preprečuje, da bi en uporabnik zasedel preveč virov (npr. če odpre 10 zavihkov hkrati).
  • disable_locking: Vedno nastavljeno na 0 v produkciji, da preprečite korupcijo podatkov seje.

B. Konfiguracija predpomnilnika (Cache)

To pokriva privzeti predpomnilnik (Default) in predpomnilnik celotnih strani (Page Cache).

'cache' => [
'frontend' => [
'default' => [
'id_prefix' => '2e4_',
'backend' => 'Magento\Framework\Cache\Backend\Redis',
'backend_options' => [
'server' => '/home/imeracuna/.cagefs/tmp/redis.sock',
'port' => '0',
'password' => '',
'database' => '0', // Baza 0 za privzeti cache
'compress_data' => '1', // Omogoči stiskanje
'compression_lib' => 'gzip'
]
],
'page_cache' => [
'id_prefix' => '2e4_',
'backend' => 'Magento\Framework\Cache\Backend\Redis',
'backend_options' => [
'server' => '/home/imeracuna/.cagefs/tmp/redis.sock',
'port' => '0',
'password' => '',
'database' => '1', // Baza 1 za FPC
'compress_data' => '0', // FPC običajno ne stiskamo za max hitrost
'compression_lib' => 'gzip'
]
]
]
],

Razlaga ključnih polj:

  • id_prefix: Kratka koda (npr. 2e4_), ki se doda vsakemu ključu. To je nujno, če imate na istem Redis strežniku več trgovin.
  • backend: Pove Magentu, da uporabi Redis gonilnik.
  • database: Baza 0 je za splošne Magento podatke, baza 1 pa za Full Page Cache (FPC).
  • compress_data: Pri FPC se pogosto nastavi na 0, ker so podatki že v HTML obliki in je hitreje, če jih Redis vrne neposredno brez odpakiranja.

3. Zaključek

Po urejanju datoteke obvezno počistite predpomnilnik:

php bin/magento cache:flush

Z Redisom bo vaša trgovina dihala lažje, procesor pa bo manj obremenjen z MySQL poizvedbami za seje!

Nehajte brskati. Začnite prodajati. Pišite na anze@degriz.net ali pokličite 040 807 231 zdaj!

200+ strani o spletnih trgovinah brezplačno

Naročite se na e-novice in brezplačno prejmite 200+ strani priročnika o spletnih trgovinah, kjer so zapisane male in velike skrivnosti spletnih trgovin.

Pravilnik o zasebnost: prijava na e-novice

Z vpisom svojega elektronskega naslova se prijavljate na e-novice, s katerimi vas bo podjetje Degriz obveščalo o novostih v ponudbi na spletu in v trgovini, o marketinških aktivnostih in drugih promocijah.

S prijavo na e-novice se vpišete tudi v bazo prejemnikov ugodnosti (popusti za zvestobo, mesečna nagradna igra), ki jih Degriz nudi svojim uporabnikom.

Za prijavo na e-novice Degriz d.o.o. zbira sledeče podatke: e-naslov, IP, v primeru, da se prijavite kot registrirani član, pa tudi ime in priimek, naslov in telefon.

Po poslanem obrazcu z elektronskim naslovom boste na navedeni naslov prejeli potrditveno sporočilo – s potrditvijo tega boste do preklica prijavljeni na e-novice Degriz (t. i. opt-in odobritev). Kadarkoli lahko pisno ali s klikom na gumb Odjava v e-novicah zahtevate, da upravljavec osebnih podatkov trajno ali začasno preneha uporabljati vaše osebne podatke za namene neposrednega trženja. Vaši zahtevi bo ugodeno v 15 dneh od dneva prejema zahteve, kot predpisuje zakon. Zahtevate lahko tudi prenos ali seznanitev s podatki.

Upravljavec Degriz d.o.o. se zavezuje, da bo podatke skrbno varoval skladno z zakonodajo, ki ureja varovanje osebnih podatkov.

Pošiljatelj e-novic in upravljavec vaših osebnih podatkov je: Degriz, d.o.o., Gorica pri Šmartnem 45a, 3000 Celje, SI 67287743

Preverite tudi celotni Pravilnik o zasebnosti

E-novice

Moje ime je Anže in sem Magento certificiran strokovnjak za rešitve in izdelovalec večkrat nagrajenih spletnih trgovin.

Sem arhitekt vseh Degriz projektov. Zagotovo me boste srečali če bomo sodelovali. Čeprav kar naprej zvoni telefon, me lahko vedno pocukate za rokav, v kolikor potrebujete nasvet glede spletnih trgovin in njihovega delovanja.

Specializiran za izvedbo unikatnih spletnih trgovin in mojster posebnih prijemov za izboljšanje konverzije vašega spletnega mesta.

© 2010 - 2026 Degriz. Vse pravice pridržane. Izdelano z ljubeznijo na Magento platformi.
Delna uporaba vsebin je dovoljena z obvezno navedbo vira. Vsebina je zaščitena pod licenco Creative Commons Attribution 4.0 International (CC BY 4.0) ali po naši lastni licenci.

Mislimo, da se nahajate v Združene države Amerike. Želite posodobiti svojo lokacijo?

Zapri