Logo Redis

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]