Switch Language

Velocizzare Magento con Redis

di Sandro Borme, 23 novembre 2016

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

sudo apt-get install redis-server php5-redis

 

Verificare installazione

Per testare Redis server possiamo fare un ping e ci aspettiamo come risposta PONG:

redis-cli ping

PONG

Verificare l’estensione PhpRedis

Per vedere se l’estensione Redis viene caricata dal PHP possiamo usare questo comando:

php -m | grep redis

Con risultato

redis

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:

maxmemory 5Gb (in questo caso 5 Gb)

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:

<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>

Per abilitare la cache, inserire, sempre nel file app/etc/local.xml, quanto segue:

<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>

 

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.

redis-cli
127.0.0.1:6379 > SELECT 0
OK
127.0.0.1:6379 > KEYS *

L'articolo era interessante? Vota