What is Redis : Remote Dictionary Server (Redis) is an open source, in-memory data structure store, used as a database, cache and message broker. Redis supports different kinds of abstract data structures, such as strings, lists, maps, sets, sorted sets ,etc.
Where Redis cache is store: Redis cache store in server memory RAM / DISK.
How to Install Redis : Using following commands we can install the redis on your server,
- sudo add-apt-repository ppa:chris-lea/redis-server
- sudo apt-get update
- sudo apt-get install redis-server
Note: Depend of OS , the above command may change.
How to Configure Redis cache in Magento2 :
(I).Using Command Line :
Magento is providing option to configure the redis using the command line.
Command : php bin/magento setup:config:set –cache-backend=redis
–cache-backend-redis-<parameter_name>=<parameter_value>
Example : 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
–cache-backend-redis-password=****
Regarding Password :We will configure the password directly in file level instead of setting using command line.
Configuration File Path for Redis : /etc/redis/redis.conf
Once after execute the above command , magento automatically add below code snippet into app/etc/env.php file .
(II). Direct File level modification :
1. Open app/etc/env.php
2. Add below code snippet
Sample Code Snippet:
‘cache’ => [
‘frontend’ => [ ‘default’ => [
‘backend’ => ‘Cm_Cache_Backend_Redis’,
‘backend_options’ => [ ‘server’ => ‘127.0.0.1’,
‘database’ => ‘0’,
‘port’ => ‘6379’ ], ],
‘page_cache’ => [ ‘backend’ => ‘Cm_Cache_Backend_Redis’,
‘backend_options’ => [ ‘server’ => ‘127.0.0.1’,
‘port’ => ‘6379’,
‘database’ => ‘1’,
‘force_standalone’ => ‘0’,
‘connect_retries’ => ‘1’,
‘read_timeout’ => ’10’,
‘automatic_cleaning_factor’ => ‘0’,
‘compress_data’ => ‘1’,
‘compress_tags’ => ‘1’,
‘compress_threshold’ => ‘20480’,
‘compression_lib’ => ‘gzip’, ] ] ] ],
Verify Redis cache is working in magento2 :
1. Run below command to monitor the redis cache workflow,
redis-cli monitor
2. Reload the website pages and see if you get below output than the redis cache is working as expect,
Output For Session :
“select” “0”
“hmget” “sess_sgmeh2k3t7obl2tsot3h2ss0p1” “data” “writes”
Output For Page:
“select” “1”
“hget” “zc:k:ea6_GLOBAL__DICONFIG” “d”
CONS: Storage size is restrict based on the Memory(RAM).