官网文档
下列表格中,加粗项为重点关注像

net work(网络相关)

配置名 默认值 说明
bind 127.0.0.1 绑定本地网卡IP,详情
protected-mode yes 安全模式,yes=开启,no=关闭,开启状态下需设置密码访问
port 6379 端口号,不要使用默认端口号
tcp-backlog 511 TCP三次握手完成队列长度,详情
unixsocket 注释 支持unix套接字
unixsocketperm 注释 支持unix套接字
timeout 0 client空闲多长时间后关闭(秒级),0=不关闭
tcp-keepalive 300 通过发送ACKS监测连接是否存活,秒级

TLS/SSL

内网模式的redis集群,一般不需要使用SSL连接
该模块下的所有配置默认注释状态

配置名 默认值 说明
tls-port 6379 默认ssl连接端口,
tls-cert-file redis.crt X.509证书
tls-key-file redis.key 证书的密钥
tls-dh-params-file redis.dh -
tls-ca-cert-file ca.crt CA证书
tls-ca-cert-dir /etc/ssl/certs CA证书文件目录
tls-auth-clients no 可选值:no, optional
tls-replication yes 副本是否使用TLS访问Master
tls-cluster yes 集群是否使用TLS模式
tls-protocols TLSv1.2 TLS协议版本
tls-ciphers DEFAULT:!MEDIUM 密码的规则,仅适用于TLSv1.2以下
tls-ciphersuites TLS_CHACHA20_POLY1305_SHA256 加密组件
tls-prefer-server-ciphers yes 密码规则以服务器为准
tls-session-caching no 会话缓存
tls-session-cache-size 5000 会话缓存大小
tls-session-cache-timeout 60 会话缓存过期时间,秒级

GENERAL(普通配置)

配置名 默认值 说明
daemonize no 后台程序运行,需要开启
supervised no 进程管理模式,可选值:no、upstart、systemd、auto
pidfile /var/run/redis_6379.pid 进程ID文件目录
loglevel notice 日志级别,可用:debug、verbose、notice、warning
logfile “” 日志文件,默认情况会将日志输出到/dev/null
syslog-enabled no 是否输出到系统日志,no=关闭,yes=开启
syslog-ident redis 系统日志的标识符
syslog-facility local0 指定syslog设备,值可以是USER或LOCAL0-LOCAL7
databases 16 数据库的数量详情
always-show-logo yes 启动时是否显示redis的logo

SNAPSHOTTING(快照)

快照详解

配置名 默认值 说明
save 900 1 RDB保存快照的规则,写法:save <秒数> <修改数>,默认配置为:900秒内有1个key变更就保存快照。详情
stop-writes-on-bgsave-error yes 当异步快照保存时出现异常,停止快照写入
rdbcompression yes 快照压缩,默认开启,使用LZF压缩算法,如果想减轻CPU负担,可以关闭
rdbchecksum yes 快照检查,会增加CPU10%的消耗
dbfilename dump.rdb 快照文件名
rdb-del-sync-files no rdb文件是否删除同步锁
dir ./ 快照文件目录

REPLICATION (副本)

主从模式详解

配置名 默认值 说明
replicaof <masterip> <masterport> - 副本从哪台主机哪个端口复制
masterauth <master-password> - master的密码,如果在requirepass中配置了密码,则需要在这里配置相应的密码
masteruser <username> - master 用户名
replica-serve-stale-data yes 从节点从主节点复制过程中,是否继续响应客户端请求,yes=响应,no=不响应
replica-read-only yes 从节点是否只读,yes=只读,no=可写
repl-diskless-sync no 是否允许diskless同步,即只同步到从节点内存中,不写入磁盘,no=不允许,yes=允许
repl-diskless-sync-delay 5 无磁盘同步的延迟时间,秒级
repl-diskless-load disabled 是否启用无磁盘加载
repl-ping-replica-period 10 从节点向主节点发送心跳的间隔时间,秒级
repl-timeout 60 从节点与主节点通信超时时间,秒级
repl-disable-tcp-nodelay no 实时数据传输,内网带宽不需要修改,如果是跨机房或跨平台同步,则最好设置为yes,并设置延迟时长,避免复制占满带宽
repl-backlog-size 1mb 复制时的块大小
repl-backlog-ttl 3600 副本过期时间,秒级
replica-priority 100 优先级,当主节点长时间未响应,则切换优先级高的从节点
min-replicas-to-write 被注释 健康从节点最小数量,小于该数值,master将变为只读 详情
min-replicas-max-lag 被注释 最大的延迟时间
replica-announce-ip 被注释 以host方式明确该从节点是谁
replica-announce-port 被注释 明确该节点的端口号

KEYS TRACKING(key跟踪)

配置名 默认值 说明
tracking-table-max-keys 被注释 客户端缓存值 详情

SECURITY (安全)

配置名 默认值 说明
acllog-max-len 128 ACL 日志的最大长度
aclfile 被注释 -
requirepass 被注释 -

CLIENTS (客户端)

配置名 默认值 说明
maxclients 10000 最大连接数,当连接数超出时,会返回异常

MEMORY MANAGEMENT(内存管理)

配置名 默认值 说明
maxmemory 最大可用内存,当有副本的时候,需要将副本的值设置的比主节点的低
maxmemory-policy noeviction 内存超出时,清理key的策略,一般使用LRU策略
maxmemory-samples 5 淘汰算法的样本数量,样本越多越准确也越耗CPU,建议值:5
replica-ignore-maxmemory yes 从节点是否忽略maxmemory设置
active-expire-effort 1 清理过期key时的CPU消耗占比,值越大,消耗的CPU越多,详情

LAZY FREEING

详情
为避免big key(大数据量的Set集合key)过期删除造成的风险,引入的新特性

配置名 默认值 说明
lazyfree-lazy-eviction no maxmemory超限是否开启bio删除
lazyfree-lazy-expire no key过期时是否开启bio删除
lazyfree-lazy-server-del no 服务端执行del是否自动修改为unlink
replica-lazy-flush no -
lazyfree-lazy-user-del no 客户端执行del是否自动修改为unlink

THREADED I/O

详情
当SSL开启的情况下,该特性不工作

配置名 默认值 说明
io-threads 被注释 默认是禁用的,线程数量,建议设置为CPU的百分之70
io-threads-do-reads no 当io thread被开启的时候,默认thread是只做写入,该配置设置为yes则开启thread的读操作

KERNEL OOM CONTROL(内核OOM控制)

配置名 默认值 说明
oom-score-adj no 当出现OOM时,开启该参数,则会按照优先级尝试kill进程:从节点子进程 < 从节点主进程 < 主节点子进程 < 主节点主进程
oom-score-adj-values 0 200 800 按顺序设置主、从、子进程的kill分值,分值越高越可能被杀死

APPEND ONLY MODE(AOF模式)

主从复制AOF模式配置,详情

配置名 默认值 说明
appendonly no 是否开启AOF模式
appendfilename “appendonly.aof” 追加的文件名
appendfsync everysec 将数据刷入磁盘的方式,默认每秒刷一次,可选值:no(系统控制刷),always(直接写入磁盘),everysec(每秒刷一次)
no-appendfsync-on-rewrite no 主、子进程竞争fsync,参数为no表示当主进程在写时,子进程阻塞。参数为yes时,子进程只将数据写入缓存,不刷新到磁盘
auto-aof-rewrite-percentage 100 触发自动重写的增量百分比
auto-aof-rewrite-min-size 64mb 当自动重写时,最小写入的文件大小
aof-load-truncated yes Redis异常退出时,有不完整的aof文件,在重启Redis时,会根据这个配置来决定是否加载不完整的aof文件,yes=加载,no=不加载,并启动失败
aof-use-rdb-preamble yes 是否开启混合模式的持久化,开启可提高redis启动时数据加载效率

REDIS CLUSTER(集群)

配置名 默认值 说明
cluster-enabled yes 是否开启集群模式
cluster-config-file nodes-6379.conf 重写redis.conf
cluster-node-timeout 15000 节点心跳超时时间,毫秒级
cluster-replica-validity-factor 10 从节点与主节点失联超过 (cluster-node-timeout * cluster-replica-validity-factor) + repl-ping-replica-period时间后,从节点不会升级为主节点,如果设置为0,则无论主从失联多久,都会升为主节点
cluster-migration-barrier 1 当还有主节点下有N个节点没有分配,将触发主节点分配
cluster-require-full-coverage yes 是否需要所有slot都可用时redis才提供服务,yes=是,no=部分slot可用也继续提供服务
cluster-replica-no-failover yes 当主节点故障时,yes为不允许从节点升为主节点,no则允许
cluster-allow-reads-when-down no 节点故障或网络分区期间不需要数据的一致性, 只要节点上拥有指定数据就可以读取(默认是no)

SLOW LOG(慢查询)

配置名 默认值 说明
slowlog-log-slower-than 10000 慢查询最小时间限制,命令处理超过该时间,即记录一次慢查询,微秒级
slowlog-max-len 128 慢查询记录的最大长度,超过长度会被删除,一般不会出现慢查询,所以长度不需要设置太大

LATENCY MONITOR(毛刺记录)

比慢查询更详细的延迟命令的记录
详情

配置名 默认值 说明
latency-monitor-threshold 0 延时命令监控阈值,毫秒级

EVENT NOTIFICATION(事件通知)

特性官网文档
目前不明白的是,一个Key的操作是否会给所有client发送通知?
如果给所有client发送通知,那么在多链接场景,会消耗大量资源,最好不要启用该特性

配置名 默认值 说明
notify-keyspace-events “” 设置要通知的事件,"AKE"表示所有事件都会发送通知

ADVANCED CONFIG(高级配置)

配置名 默认值 说明
hash-max-ziplist-entries 512 hash的field数量在512个以内且field的value在64以内将进行数据压缩,节约内存
hash-max-ziplist-value 64 同上
list-max-ziplist-size -2 List最大的数量设置,-2=8KB,-1=4KB,-3=16KB,-4=32KB,-5=64KB
list-compress-depth 0 压缩的逻辑,0表示不压缩,1=头尾不压缩,中间压缩,2=头尾及相邻1元素不压缩,中间压缩,3=头尾及相邻2个元素不压缩,中间压缩
set-max-intset-entries 512 超过阈值的set元素,会转为dict,详情
zset-max-ziplist-entries 128 意义同hash
zset-max-ziplist-value 64 同上
hll-sparse-max-bytes 3000 HyperLogLog有两种矩阵,稀疏矩阵、密集矩阵,输入超过3000字节的会自动转为密集矩阵,详情
stream-node-max-bytes 4096 用于设定 Streams 单个节点的最大大小和最多能保存多个个元素
stream-node-max-entries 100 同上
activerehashing yes 开启时,redis将在每100msCPU使用时间内花1ms进行rehash操作;关闭后可能不会及时的释放空闲内存
client-output-buffer-limit <class> <hard limit> <soft limit> <soft seconds> normal 0 0 0
replica 256mb 64mb 60
pubsub 32mb 8mb 60
不同的客户端支持不同的参数配置,一般不做用于普通的客户端(比如hgetall之类的命令),只有在大批量数据拉取时,比如Push时,才会通过该限制来保证redis正常。
client-query-buffer-limit 1gb 查询限制,只有当有巨大的数据请求时才需要修改该参数
proto-max-bulk-len 512MB 批量查询桶的大小限制,一般不用修改
hz 10 值越高,处理关闭链接、过期key就越快越精准,同时消耗的CPU也会增加,建议范围是1~500,一般不建议超过100
dynamic-hz yes client大增时,会根据hz整数倍调大hz,用于低延迟处理
aof-rewrite-incremental-fsync yes 当子进程进行 AOF 的重写时,如果启用了 aof-rewrite-incremental-fsync, 子进程会每生成 32 MB 数据就进行一次 fsync 操作。 通过这种方式将数据分批提交到硬盘可以避免高延迟峰值。
rdb-save-incremental-fsync yes 当 Redis 保存 RDB 文件时,如果启用了 rdb-save-incremental-fsync 功能, Redis 会每生成 32 MB 数据就执行一次 fsync 操作。 通过这种方式将数据分批提交到硬盘可以避免高延迟峰值。
lfu-log-factor 10 调整LFU策略的计数器对数因子
lfu-decay-time 1 调整LFU策略的计数器衰退时间

Redis 6.0配置整理相关推荐

  1. redis.conf 7.0 配置和原理全解,生产王者必备

    我是 Redis, 当程序员用指令 ./redis-server /path/to/redis.conf 把我启动的时候,第一个参数必须是redis.conf 文件的路径. 这个文件很重要,就好像是你 ...

  2. SpringBoot2.0配置redis相关

    2019独角兽企业重金招聘Python工程师标准>>> SpringBoot2.0中redis的配置 REDIS (RedisProperties) Redis数据库索引(默认为0) ...

  3. Redis 5.0.3默认配置启动报错解决方法

    Redis 5.0.3默认配置启动报错解决方法 参考文章: (1)Redis 5.0.3默认配置启动报错解决方法 (2)https://www.cnblogs.com/miclesvic/p/1031 ...

  4. 带你100% 地了解 Redis 6.0 的客户端缓存

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 近日 Redis 6.0.0 GA 版本发布,这是 Redis 历 ...

  5. redis 3.0 cluster 集群 学习之路篇 [3]

    周氏一族,整理技术文档,给下一代留点教程...... redis 3.0 cluster 安装篇,请看 http://zhoushouby.blog.51cto.com/9150272/1560400 ...

  6. Redis 6.0 新特性:多线程连环 13 问!

    来源 | 码大叔 责编 | Carol 封图 | CSDN付费下载自视觉中国 支持多线程的Redis6.0版本于2020-05-02终于发布了,为什么Redis忽然要支持多线程?如何开启多线程?开启后 ...

  7. Redis4.0、5.0、6.0、7.0特性整理(持续更新)

    最近研究研究新版本redis的新特性,网上查了查资料,这里记录一下. 0. Redis的版本迭代和里程碑 Redis从发布至今,已经有十余年的时光了,一直遵循着自己的命名规则: 版本号第二位如果是奇数 ...

  8. Redis 3.0 中文版

    https://redis.io/topics/introduction 此文由powersoft · 更新于 2018-09-30 10:00:44 感觉powersoft的付出和分享,给点个赞先你 ...

  9. redis cluster 安装配置

    一.redis集群安装配置 1.下载redis源码包并下载 wget http://download.redis.io/releases/redis-3.0.7.tar.gz $ tar xzf re ...

最新文章

  1. 白化(whitening)是什么?白化(whitening)与PCA(principle component analysis)的区别是什么?
  2. 转:软件设计漫谈之三:30分钟掌握面向对象类的设计原则
  3. xmlWriter 以UTF-8格式写xml问题
  4. java创建链表成绩管理系统_成绩管理系统 链表版
  5. php path separator,php 非常有用的高级函数PATH_SEPARATOR常量和set_include_path
  6. JEECG整合JXLS步骤与开发
  7. Oracle truncate和delete的区别
  8. fiddler 工具作用和使用场景
  9. python解包裹_python-之基本语法
  10. 无法定位软件包dbus-glib-1
  11. 计算机组成原理答案 耿,计算机组成理习题课2.ppt
  12. micropython(3):使用thonny ide 开发,并控制 LED 设备
  13. 5类6类7类网线对比_5类 6类 7类网线有没有什么区别
  14. 使用MD5进行加密解密【代码实现】
  15. 深度关注 | 元宇宙如何改写人类社会生活
  16. FPGA开发基础——基于multisim以及Quartus实现的交通灯电路
  17. 开发餐厅里扫餐桌码进行点餐下单
  18. 轨迹发生器 matlab,GPS和INS组合导航程序,其中包括轨迹发生器、KALMAN滤波、模型建立、伪距伪距率组合方式进行仿真...
  19. 计算机辅助导航技术口腔外科,计算机辅助导航技术在口腔种植手术中的应用.pdf...
  20. 【双色球】随身彩软件开发中,目前1.0已经可以下载试用

热门文章

  1. 软件设计师——设计模式笔记下
  2. 网站违规内容——出现这些百度不收录
  3. 创建生成周报excel表(二)添加表格格式
  4. java createcell_ROW.CREATECELL
  5. TensorFlow 添加卷积层
  6. 计算机网络英文介绍,《计算机网络英文版》.doc
  7. 【学习记录】【python】【opencv】自学简要记录(未完)
  8. Linear Algebra Done Right (undone)
  9. 学软件技术计算机二级考什么,计算机二级考试科目有哪些
  10. 长度为n的整数数组循环左移右移m位