以下内容摘自雪球,在公司内部的docs上的内容总结,部分隐私信息已经处理改动
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 | 执行后台任务的频率(次数/秒) | |
bind | ip地址 docker 和 物理机可能不一样 | |
min-slaves-to-write | 0 | |
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-entries | ziplist中允许存储的最大条目个数 | 建议为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-bytes | 3000 | |
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-limit | lua脚本运行的最大时间 | |
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 | |
timeout | tcp链接空闲时间,超过会被关闭//当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能 | |
cluster-slave-validity-factor | 默认值为10 | |
unixsocketperm | 0 | |
activerehashing | 是否开启顶层数据结构的rehash功能//指定是否激活重置哈希,默认为开启 | 如果内存允许,请开启,默认yes |
repl-ping-slave-period | 默认值10,指定slave定期ping master的周期 | |
appendfsync | aof中文件同步机制//之前的appendonly是否记录日志,这里表示记录日志的类型,指定更新日志条件,共有3个可选值:no:表示等操作系统进行数据缓存同步到磁盘(快)always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全) everysec:表示每秒同步一次(折衷,默认值) | |
watchdog-period | 0 | |
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-size | aof rewrite触发时机 | 最小文件大小 |
rdbchecksum | 启用CRC64校验码,当然这个会影响一部份性能 | |
aof-load-truncated | 是否加载不完整的aof文件来进行启动 | |
no-appendfsync-on-rewrite | 当主进程在进行向磁盘的写操作时,将会阻止其它的fsync调用 | |
repl-backlog-ttl | 3600, 如果一段时间后没有slave连接到master,则backlog size的内存将会被释放,如果值为0则表示永远不释放这部份内存 | |
client-output-buffer-limit | normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60 | |
masterauth | 如果master配置了密码的话,此处也需做设置//当master服务设置了密码保护时,slav服务连接master的密码 这个就是权限验证 | |
slave-priority | slave端的优先级设置,值是一个整数,数字越小表示优先级越高 | |
repl-disable-tcp-nodelay | 是否启用TCP_NODELAY | |
loglevel | verbose,指定服务器信息显示的等级,4个参数分别为debug verbose notice warning | |
set-max-intset-entries | 默认值512,当set类型中的数据都是数值类型,并且set中整型元素的数量不超过指定值时,使用特殊的编码方式 | |
cluster-migration-barrier | 要将一个slave迁移到别的master,必须这个slave的原master端有至少给定数目的可用slave才可以进行迁移,这个给定的数目由migration barrier参数来进行设置,默认值为1 |