redis cluster config字典表

215 阅读7分钟

以下内容摘自雪球,在公司内部的docs上的内容总结,部分隐私信息已经处理改动


xueqiu.com/

 

   
   
maxmemory-policy内存淘汰策略,默认noeviction 可以选择allkeys-lru、volatile-lru、allkeys-random、volatile-random、volatile-ttl 
aof-rewrite-incremental-fsync是否采取增量文件同步 
zset-max-ziplist-entries默认值128,与hash和list类似 
min-slaves-max-lag设置当一个master端的可用slave少于N个,延迟时间大于M秒时,不接收写操作 
maxmemory-samples默认值3,LRU和最小TTL策略并非严谨的策略,而是大约估算的方式,因此可以选择取样值以便检查 
tcp-keepalive指定ACKs的时间周期,单位为秒,值非0的情况表示将周期性的检测客户端是否可用,默认值为60秒 
stop-writes-on-bgsave-error最近一次save操作失败则停止写操作 
dir/opt/app/redisCluster/8209/redis_cluster/8209//指定本地数据库存放目录 
pidfile/var/run/redis.pid,redis启动后的进程ID保存文件  
dbfilename默认值dump.rdb,dump到文件系统中的文件名 
hz执行后台任务的频率(次数/秒) 
bindip地址 docker 和 物理机可能不一样 
min-slaves-to-write0 
repl-diskless-sync默认不使用diskless同步方式 
repl-diskless-sync-delay无磁盘diskless方式在进行数据传递之前会有一个时间的延迟,以便slave端能够进行到待传送的目标队列中,这个时间默认是5秒 
repl-timeout默认值60,指定超时时间。注意本参数包括批量传输数据和ping响应的时间 
hash-max-ziplist-value默认值64 
databases指定数据库的数量,默认为16个,默认使用的数据库是DB 0 
slave-read-only默认从Redis是只读模式 
latency-monitor-threshold延迟监控,用于记录等于或超过了指定时间的操作,默认是关闭状态,即值为0 
hash-max-ziplist-entriesziplist中允许存储的最大条目个数建议为128
auto-aof-rewrite-percentage默认值100 
logfile指定日志的输出路径,默认值stdout,表示输出到屏幕,守护模式时则输出到/dev/null 
cluster-require-full-coverage若想要设置集群在部份key space没有cover完成时继续去接收查询,就将参数设置为no 
slaveof设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步 
maxclients指定客户端的最大并发连接数,默认是没有限制,直到redis无法创建新的进程为止,设置该参数值为0也表示不限制,如果该参数指定了值,当并发连接达到指定值时,redis会关闭所有新连接,并返回'max number of clients reached'的错误信息 
hll-sparse-max-bytes3000 
notify-keyspace-events事件通知,默认不启用,具体参数查看配置文件 
port端口 
slowlog-max-len慢操作日志 保留的最大条数 
list-max-ziplist-value默认值64 
zset-max-ziplist-value默认值64 
rdbcompression默认值yes,当dump数据库时使用LZF压缩字符串对象,如果CPU资源比较紧张,可以设置为no,选择不压缩//如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大 
unixsocket/tmp/redis.sock 指定监听的socket,适用于unix环境  
lua-time-limitlua脚本运行的最大时间 
appendonly是否开启aof功能//.指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。 
slowlog-log-slower-than慢操作日志 记录单位:微秒
maxmemory设置最大内存,例:10485760000//指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区 
save指定多长时间刷新快照至磁盘,这个选项有两个属性值,只有当两个属性值均满足时才会触发;可以设置多种级别,例如默认的参数文件中就设置了//eg:"900 1 300 10 60 10000" 分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。 
tcp-backlog此参数确定TCP连接中已完成队列(3次握手之后)的长度,应小于Linux系统的/proc/sys/net/core/somaxconn的值,此选项默认值为511 
slave-serve-stale-data默认值yes 
timeouttcp链接空闲时间,超过会被关闭//当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能 
cluster-slave-validity-factor默认值为10 
unixsocketperm0 
activerehashing是否开启顶层数据结构的rehash功能//指定是否激活重置哈希,默认为开启如果内存允许,请开启,默认yes
repl-ping-slave-period默认值10,指定slave定期ping master的周期 
appendfsyncaof中文件同步机制//之前的appendonly是否记录日志,这里表示记录日志的类型,指定更新日志条件,共有3个可选值:no:表示等操作系统进行数据缓存同步到磁盘(快)always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) everysec:表示每秒同步一次(折衷,默认值) 
watchdog-period0 
cluster-node-timeout设置集群节点超时时间,如果超过了指定的超时时间后仍不可达,则节点被认为是失败状态,单位为毫秒 
repl-backlog-size设置backlog的大小,例:67108864设置backlog的大小,backlog是一个缓冲区,在slave端失连时存放要同步到slave的数据,因此当一个slave要重连时,经常是不需要完全同步的,执行局部同步就足够了。backlog设置的越大,slave可以失连的时间就越长。
list-max-ziplist-entries默认值512,与hash类似,满足条件的list数组也会采用特殊的方式以节省空间 
requirepass指定一个密码,客户端连接时也需要通过密码才能成功连接 
daemonize后台模式启动(docker 和 物理机的配置可能会不一样) 
auto-aof-rewrite-min-sizeaof rewrite触发时机最小文件大小
rdbchecksum启用CRC64校验码,当然这个会影响一部份性能 
aof-load-truncated是否加载不完整的aof文件来进行启动 
no-appendfsync-on-rewrite当主进程在进行向磁盘的写操作时,将会阻止其它的fsync调用 
repl-backlog-ttl3600, 如果一段时间后没有slave连接到master,则backlog size的内存将会被释放,如果值为0则表示永远不释放这部份内存 
client-output-buffer-limitnormal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60 
masterauth如果master配置了密码的话,此处也需做设置//当master服务设置了密码保护时,slav服务连接master的密码 这个就是权限验证 
slave-priorityslave端的优先级设置,值是一个整数,数字越小表示优先级越高 
repl-disable-tcp-nodelay是否启用TCP_NODELAY 
loglevelverbose,指定服务器信息显示的等级,4个参数分别为debug verbose notice warning  
set-max-intset-entries默认值512,当set类型中的数据都是数值类型,并且set中整型元素的数量不超过指定值时,使用特殊的编码方式 
cluster-migration-barrier要将一个slave迁移到别的master,必须这个slave的原master端有至少给定数目的可用slave才可以进行迁移,这个给定的数目由migration barrier参数来进行设置,默认值为1