REDIS Config

Describe the redis cluster you want with redis config
ID Name Section Type Level Comment
700 redis_cluster REDIS_IDENTITY string C redis cluster identity
701 redis_node REDIS_IDENTITY int I redis node identity
702 redis_instances REDIS_IDENTITY instance[] I redis instances definition on this node
710 redis_fs_main REDIS_NODE path C main data disk for redis
711 redis_exporter_enabled REDIS_NODE bool C install redis exporter on redis nodes
712 redis_exporter_port REDIS_NODE int C default port for redis exporter
713 redis_exporter_options REDIS_NODE string C/I default cli args for redis exporter
720 redis_safeguard REDIS_PROVISION bool C set to true to disable purge
721 redis_clean REDIS_PROVISION bool C purge existing redis during init
722 redis_rmdata REDIS_PROVISION bool C remove redis data dir with it?
723 redis_mode REDIS_PROVISION enum C standalone,cluster,sentinel
724 redis_conf REDIS_PROVISION string C which config template will be used
725 redis_bind_address REDIS_PROVISION ip C e.g, empty will use inventory_hostname as bind address
726 redis_max_memory REDIS_PROVISION size C/I max memory used by each redis instance
727 redis_mem_policy REDIS_PROVISION enum C memory eviction policy
728 redis_password REDIS_PROVISION string C empty password disable password auth (masterauth & requirepass)
729 redis_rdb_save REDIS_PROVISION string[] C RDB save cmd, disable with empty array
730 redis_aof_enabled REDIS_PROVISION bool C enable redis AOF
731 redis_rename_commands REDIS_PROVISION object C rename dangerous commands
732 redis_cluster_replicas REDIS_PROVISION int C how much replicas per master in redis cluster ?


Identity parameters are the information that must be provided to define a Redis cluster, including:

Name Level Description Example
redis_cluster MUST, cluster level Cluster name redis-test
redis_node MUST, node level Node Number primary, replica
redis_instances MUST, node level Ins Definition { 6001 : {} ,6002 : {}}
  • redis_cluster identifies the Redis cluster name, configured at the cluster level, and serves as the top-level namespace for cluster resources.
  • redis_node identifies the serial number of the node in the cluster.
  • redis_instances is a JSON object with the Key as the ins port and the Value as a JSON object containing the instance-specific config.


Redis cluster identity, type: string, level: C, default value:

Redis cluster identity will be used as a namespace for resources within the cluster and needs to follow specific naming patterns: [a-z][a-z0-9-]* to be compatible with different constraints on identity identification. It is recommended to use redis- as the cluster name prefix.

Identity param is required params and cluster-level params.


Redis node identity, type: int, level: I, default value:

Redis node identity, unique in the cluster, is used to distinguish and identify different nodes, starting with an assignment of 0 or 1.


Redis instances definition on this node, type: instance[], level: I, default value.

This database node deployed all Redis ins in JSON K-V object format. The key is the numeric type port number, and the value is the JSON config entry specific to that instance.

Sample example:

redis_instances: { 6501 : {} ,6502 : {} ,6503 : {} ,6504 : {} ,6505 : {} ,6506 : {} }
    6501: {}
    6502: { replica_of: ' 6501' }
    6503: { replica_of: ' 6501' }

Each Redis ins listens on a unique port on the node. You can configure separate parameter options for Redis ins (currently, only replica_of is supported for pre-built M-S replication).

Identity params required params and instance-level params.



Primary data disk for Redis, type: path, level: C, default value: "/data".

Pigsty will create the redis dir under that dir to store Redis data. For example, /data/redis.

See FHS: Redis for details.


Enable Redis exporter, type: bool, level: C, default: true.

Redis Exporter is enabled by default, one on each Redis node deployed and listens on port 9121 by default.


Redis Exporter listens port, type: int, tier: C, default value: 9121.

Note: If you modify this default port, you will need to replace this port along with the relevant config rule file in Prometheus.


Redis Exporter command parameter, type: string, level: C/I, default value: "".



Disable erasure of existing Redis, type: string, level: C, default value: false.

if true, redis.yml and redis-remove.yml will not remove running redis instance


What to do when Redis exists, type: bool, level: C/A, default value: "false".

If true, redis.yml will purge existing instance during init.


Redis cluster mode, type: enum, level: C, default value: "standalone".

Specifies the mode of this Redis cluster, with three optional modes:

  • standalone: Default mode, deploys a series of independent Redis ins.
  • cluster: Redis native cluster mode
  • sentinel: Redis HA component: sentinel

Pigsty also sets up standalone Redis based on the replica_of parameter when using the standalone mode. Pigsty creates a native Redis cluster using all defined instances according to the redis_cluster_replicas parameter when using cluster mode.


Redis config template, type: string, level: C, default value: "redis.conf".


Redis listener address, type: ip, level: C, default value: "".

Redis listener the IP, or inventory_hostname if left blank. The default listener has all local IPv4.


Max memory used by each Redis ins, type: size, level: C/I, default value: "1GB"

Max memory used by each Redis ins, default is 1GB; it is recommended to configure this parameter at the cluster level to keep the cluster ins config consistent.


Memory eviction policy, type: enum, level: C, default value: "allkeys-lru".

Other optional policies include:

  • volatile-lru
  • allkeys-lru
  • volatile-lfu
  • allkeys-lfu
  • volatile-random
  • allkeys-random
  • volatile-ttl
  • noeviction


Redis password, type: string, level: C, default value: "".

masterauth & requirepass password to use, leave blank to disable password, disabled by default.

Be careful with security, do not place Redis on the public network without password protection.


RDB SAVE directives, type: string[], level: C, default value: [ "1200 1" ].

Redis SAVE directives, the config will enable RDB functionality, each Save policy as a string。


Enable AOF, type: bool, level: C, default value: false.


Rename dangerous commands, Type: object, Level: C, Default value: {}.

JSON dictionary renames the command represented by Key to the command represented by Value to avoid misuse of dangerous commands.


How many replicas per primary in Redis cluster, type: int, tier: C, default: 1.

/bin/redis-cli --cluster create --cluster-yes \
  --cluster-replicas {{ redis_cluster_replicas|default(1) }}

Last modified 2022-06-04: fii en docs batch 2 (61bf601)