This topic describes how to setup Redis.


Redis support several OS, but we recommand Linux

  • This document is written for CentOS


Ready to Install


Download Redis-stable version (http://download.redis.io/redis-stable.tar.gz)

Install


  1. tar xvfz redis-stable.tar.gz
  2. cd redis-stable
  3. make
  4. sudo make install 

How to set configuration for Redis


sudo ./REDIS_PATH/src/redis-server (redis.conf) 


Redis support single, replication, clutser mode

  1. When setting single mode, just use redis.conf in MagicINFO_PATH/conf/
  2. When setting replication mode, modify redis.conf as described below
  3. When setting cluster mode, modify redis.conf as described below


How to set redis.conf in MAGICINFO_PATH/conf/


  1. config.properties for MagicInfo Server (MAGICINFO_PATH/conf)
    1. cache.type = redis
    2. redis.config.path = redis.conf 
  2. set redis.conf
    1. Cluster mode

      {
         "clusterServersConfig":{
            "idleConnectionTimeout":10000,
            "pingTimeout":1000,
            "connectTimeout":10000,
            "timeout":3000,
            "retryAttempts":3,
            "retryInterval":1500,
            "failedSlaveReconnectionInterval":3000,
            "failedSlaveCheckInterval":60000,
            "password":null,
            "subscriptionsPerConnection":5,
            "clientName":null,
            "loadBalancer":{
               "class":"org.redisson.connection.balancer.RoundRobinLoadBalancer"
            },
            "subscriptionConnectionMinimumIdleSize":1,
            "subscriptionConnectionPoolSize":50,
            "slaveConnectionMinimumIdleSize":32,
            "slaveConnectionPoolSize":64,
            "masterConnectionMinimumIdleSize":32,
            "masterConnectionPoolSize":64,
            "readMode":"SLAVE",
            "subscriptionMode":"SLAVE",
            "nodeAddresses":[
               "redis://REDIS_URL:REDIS_PORT",
               "redis://REDIS_URL:REDIS_PORT",
               "redis://REDIS_URL:REDIS_PORT"
            ],
            "scanInterval":1000,
            "pingConnectionInterval": 0,
            "keepAlive": false,
            "tcpNoDelay": false
         },
         "threads":0,
         "nettyThreads":0,
         "codec":{
            "class":"org.redisson.codec.SerializationCodec"
         },
         "transportMode":"NIO"
      }
    2. Replication mode

      {
         "replicatedServersConfig":{
            "idleConnectionTimeout":10000,
            "pingTimeout":1000,
            "connectTimeout":10000,
            "timeout":3000,
            "retryAttempts":3,
            "retryInterval":1500,
            "failedSlaveReconnectionInterval":3000,
            "failedSlaveCheckInterval":60000,
            "password":null,
            "subscriptionsPerConnection":5,
            "clientName":null,
            "loadBalancer":{
               "class":"org.redisson.connection.balancer.RoundRobinLoadBalancer"
            },
            "subscriptionConnectionMinimumIdleSize":1,
            "subscriptionConnectionPoolSize":50,
            "slaveConnectionMinimumIdleSize":32,
            "slaveConnectionPoolSize":64,
            "masterConnectionMinimumIdleSize":32,
            "masterConnectionPoolSize":64,
            "readMode":"SLAVE",
            "subscriptionMode":"SLAVE",
            "nodeAddresses":[
               "redis://REDIS_URL:REDIS_PORT",
               "redis://REDIS_URL:REDIS_PORT",
               "redis://REDIS_URL:REDIS_PORT"
            ],
            "scanInterval":1000,
         },
         "threads":0,
         "nettyThreads":0,
         "codec":{
            "class":"org.redisson.codec.SerializationCodec"
         },
         "transportMode":"NIO"
      }
    3. Single Mode

      {
         "singleServerConfig":{
            "idleConnectionTimeout":10000,
            "pingTimeout":1000,
            "connectTimeout":10000,
            "timeout":3000,
            "retryAttempts":3,
            "retryInterval":1500,
            "password":null,
            "subscriptionsPerConnection":5,
            "clientName":null,
            "address":"redis://REDIS_URL:REDIS_PORT",
            "subscriptionConnectionMinimumIdleSize":1,
            "subscriptionConnectionPoolSize":50,
            "connectionMinimumIdleSize":32,
            "connectionPoolSize":64,
            "database":0,
            "dnsMonitoringInterval":5000
         },
         "threads":0,
         "nettyThreads":0,
         "codec":{
            "class":"org.redisson.codec.SerializationCodec"
         },
         "transportMode":"NIO"
      }