Introduzione
Redis e' il backend consigliato da Adobe per gestire session storage, cache di default e Full Page Cache in Magento 2. Sostituisce file system o Memcached con prestazioni molto superiori e gestione avanzata della memoria.
Installazione Redis
Su Ubuntu/Debian: apt install redis-server php-redis. Su Plesk Redis e' spesso preinstallato e attivabile per dominio dal pannello. Verificare con redis-cli ping: deve rispondere PONG.
Configurazione consigliata
- maxmemory: 25-50% RAM disponibile.
- maxmemory-policy: allkeys-lru (rimuove le chiavi meno usate).
- tcp-keepalive 60.
- requirepass: imposta una password robusta.
- Disabilitare RDB persistence per la cache (save "").
Magento: tre database separati
E' best practice usare 3 DB Redis separati per evitare conflitti: db 0 default cache, db 1 page cache, db 2 session. Ogni DB ha statistiche e eviction indipendenti.
Setup tramite CLI
Default cache:
php bin/magento setup:config:set --cache-backend=redis --cache-backend-redis-server=127.0.0.1 --cache-backend-redis-port=6379 --cache-backend-redis-db=0
Full Page Cache:
php bin/magento setup:config:set --page-cache=redis --page-cache-redis-server=127.0.0.1 --page-cache-redis-port=6379 --page-cache-redis-db=1
Session:
php bin/magento setup:config:set --session-save=redis --session-save-redis-host=127.0.0.1 --session-save-redis-port=6379 --session-save-redis-db=2 --session-save-redis-max-concurrency=20
Verifica
Controllare app/etc/env.php: devono comparire le sezioni cache, page_cache e session con backend Redis. Eseguire php bin/magento cache:flush e verificare con redis-cli -n 0 keys "*" | wc -l che le chiavi crescano.
Performance tuning
Su shop ad alto traffico conviene un'istanza Redis dedicata, con socket Unix invece di TCP se applicativo e Redis sono sullo stesso host: più' veloce e senza overhead di rete. Monitorare la memoria con redis-cli info memory.
Hai bisogno di aiuto?
Se vuoi un Magento ottimizzato dal team di G Tech Group, scrivici tramite il modulo di contatto.