REDIS配置


    身份参数是定义Redis集群时必须提供的信息,包括:

    名称属性说明例子
    redis_cluster必选,集群级别集群名redis-test
    必选,节点级别节点编号primary, replica
    redis_instances必选,节点级别实例定义{ 6001 : {} ,6002 : {}}
    • 标识了Redis集群的名称,在集群层面进行配置,作为集群资源的顶层命名空间。
    • redis_instances 是一个JSON对象,Key为实例端口号,Value为一个JSON对象,包含实例特殊的配置

    Redis数据库集群名称, 类型:string,层级:C,默认值为:

    REDIS数据库集群名称将用作集群内资源的命名空间,需要遵循特定命名规则:[a-z][a-z0-9-]*,以兼容不同约束对身份标识的要求。建议使用redis-作为集群名前缀。

    身份参数,必填参数,集群级参数

    redis_node

    Redis节点序列号, 类型:int,层级:I,默认值为:

    数据库节点的序号,在集群内部唯一,用于区别与标识集群内的不同节点,从0或1开始分配。

    redis_instances

    Redis实例定义, 类型:instance[],层级:I,默认值为:

    部署在该数据库节点上的所有Redis实例,JSON KV对象格式。Key为数值类型端口号,Value为该实例特定的JSON配置项。

    样例:

    每一个Redis实例在对应节点上监听一个唯一端口,您可以为Redis实例配置独立的参数选项(目前只支持 replica_of,用于预构建主从复制)

    身份参数,必填参数,实例级参数


    redis_fs_main

    Redis使用的主数据盘挂载点, 类型:path,层级:C,默认值为:"/data"

    Redis使用的主数据盘挂载点,默认为/data

    Pigsty会在该目录下创建redis目录,用于存放Redis数据。例如/data/redis

    详情请参考 FHS:Redis

    redis_exporter_enabled

    是否启用Redis监控, 类型:bool,层级:C,默认值为:true

    redis_exporter_port

    Redis Exporter监听端口, 类型:int,层级:C,默认值为:9121

    注:如果您修改了该默认端口,则需要在Prometheus的相关配置规则文件中一并替换此端口。

    Redis Exporter命令参数, 类型:string,层级:C/I,默认值为:""


    redis_safeguard

    安全保险,禁止清除存在的Redis实例, 类型:bool,层级:C/A,默认值为:false

    如果为true,任何情况下,Pigsty剧本都不会移除运行中的PostgreSQL实例,包括 redis-remove.yml

    详情请参考 。

    redis_clean

    是否抹除运行中的Redis实例?类型:bool,层级:C/A,默认值为:false

    针对 剧本的抹除豁免,如果指定该参数为真,那么在 redis.yml 剧本执行时,会自动抹除已有的Redis实例

    这是一个危险的操作,因此必须显式指定。

    当安全保险参数 打开时,本参数无效。

    redis_rmdata

    移除Redis实例时是否一并移除数据目录?, 类型:enum,层级:A,默认值为:true

    如果不移除, 之前实例残留的RDB/AOF文件会被自动加载使用。

    redis_mode

    Redis集群模式, 类型:enum,层级:C,默认值为:"standalone"

    指明该Redis集群的模式,有三种可选模式:

    • standalone:默认模式,部署一系列独立的Redis实例,(可以构建普通主从)
    • cluster: Redis原生集群模式
    • sentinel:Redis高可用组件:哨兵

    当使用standalone模式时,Pigsty会根据 replica_of 参数额外设置Redis主从。 当使用cluster模式时,Pigsty会根据 redis_cluster_replicas 参数使用所有定义的实例创建原生Redis集群。

    redis_conf

    Redis配置文件模板, 类型:,层级:C,默认值为:"redis.conf"

    Redis监听的IP地址,如果留空则为 inventory_hostname。默认监听有本地所有IPv4地址

    redis_max_memory

    Redis可用的最大内存, 类型:size,层级:C/I,默认值为:"1GB"

    每个Redis实例使用的最大内存限制,默认为1GB,建议在集群层面配置此参数,保持集群实例配置一致。

    redis_mem_policy

    内存逐出策略, 类型:enum,层级:C,默认值为:"allkeys-lru"

    其他可选策略包括:

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

    redis_password

    Redis密码, 类型:string,层级:C,默认值为:""

    masterauth & requirepass 使用的密码,留空则禁用密码,默认禁用

    redis_rdb_save

    RDB保存指令, 类型:string[],层级:C,默认值为: [ "1200 1" ]

    Redis SAVE命令,配置将启用RDB功能,每一条Save策略作为一个字符串。

    redis_aof_enabled

    是否启用AOF, 类型:bool,层级:C,默认值为:false

    重命名危险命令列表, 类型:object,层级:C,默认值为:{}

    JSON字典,将Key表示的命令重命名为Value表示的命令,避免误操作危险命令。

    redis_cluster_replicas

    集群每个主库带几个从库, 类型:int,层级:C,默认值为:1

    在Redis原生集群模式中,为每一个主库配置多少个从库?默认为1个。

    最后修改 2022-05-27: init commit (1e3e284)