Redis è un DB NoSQL open source (Licenza BSD) di tipo “chiave/valore”, residente in memoria e persistente.
In questo articolo vogliamo spiegare come installare e implementare Redis come backend per la cache e le sessioni.
Installare Redis e il supporto a PHP su Debian.
Aprire il terminale e installare con il seguente comando
[code]sudo apt-get install redis-server php5-redis[/code]
Verificare installazione
Per testare Redis server possiamo fare un ping e ci aspettiamo come risposta PONG:
[code]redis-cli ping
PONG[/code]
Verificare l’estensione PhpRedis
Per vedere se l’estensione Redis viene caricata dal PHP possiamo usare questo comando:
[code]php -m | grep redis[/code]
Con risultato
[code]redis[/code]
Il file di configurazione di Redis si trova in /etc/redis/redis.conf e consigliamo la modifica del valore maxmemory, in base alla RAM disponibile, come segue:
[code]maxmemory 5Gb (in questo caso 5 Gb)[/code]
A questo punto dobbiamo configurare Magento.
Per consentire a Magento di usare Redis dobbiamo attivare il modulo Cm_RedisSession.
- Aprire il /app/etc/modules/Cm_RedisSession.xml.
- Cambiare il valore nel campo <active> da false a true e salvare il file.
Se vogliamo usare le sessioni con Redis dobbiamo inserire nel file di configurazione app/etc/local.xml quanto segue:
[code]
<session_save>db</session_save>
<redis_session>
<host>127.0.0.1</host>
<port>6379</port>
<password></password>
<timeout>2.5</timeout>
<persistent></persistent>
<db>0</db> <!– numero DB Redis –>
<compression_threshold>2048</compression_threshold>
<compression_lib>gzip</compression_lib>
<log_level>1</log_level>
<max_concurrency>10</max_concurrency>
<break_after_frontend>5</break_after_frontend>
<bot_lifetime>7200</bot_lifetime>
</redis_session>
[/code]
Per abilitare la cache, inserire, sempre nel file app/etc/local.xml, quanto segue:
[code]
<cache>
<backend>Cm_Cache_Backend_Redis</backend>
<backend_options>
<server>127.0.0.1</server>
<port>6379</port>
<persistent></persistent>
<database>1</database> <!– numero DB Redis –>
<password></password>
<force_standalone>0</force_standalone>
<connect_retries>1</connect_retries>
<read_timeout>10</read_timeout>
<automatic_cleaning_factor>0</automatic_cleaning_factor>
<compress_data>1</compress_data>
<compress_tags>1</compress_tags>
<compress_threshold>20480</compress_threshold>
<compression_lib>gzip</compression_lib>
<use_lua>0</use_lua>
</backend_options>
</cache>
[/code]
Dopo aver attivato Redis, svuotare la directory var/cache della vostra installazione di Magento.
Per verificare se magento sta utilizzando redis usare il comando redis-cli, in questo caso utilizzando il DB 0.
[code]redis-cli
127.0.0.1:6379 > SELECT 0
OK
127.0.0.1:6379 > KEYS *[/code]