Redis 配置
先查运行实例的实际值,再决定运行时修改还是更新启动配置。末尾保留原笔记的完整历史配置,按需要展开;它不是当前版本的可直接部署模板。
确认实例与生效配置
在已认证连接中查看版本与有关配置,避免第一次就导出全部配置:
text
INFO server
CONFIG GET bind
CONFIG GET port
CONFIG GET save
CONFIG GET appendonly
CONFIG GET maxmemory
CONFIG GET maxmemory-policyCONFIG 是否允许调用取决于权限与服务策略。命令语法是 CONFIG SET 参数 值,不是 CONFIG SETS;并非所有启动参数都能运行时修改。
按需求找到配置项
| 要处理的事情 | 查哪些项 | 判断要点 |
|---|---|---|
| 监听与访问 | bind、port、protected-mode、ACL/TLS 相关项 | bind 是绑定地址,旧表的 buid 是拼写错误;访问控制不能只靠端口 |
| 客户端连接 | timeout、maxclients | 空闲连接与最大连接数不同,连接数还受系统文件描述符等限制 |
| 日志 | loglevel、logfile | logfile "" 表示标准输出;结合进程管理方式确认实际日志位置 |
| 内存与淘汰 | maxmemory、maxmemory-policy | 设置可淘汰数据范围,并为复制、持久化及系统开销留空间 |
| RDB 快照 | save、dbfilename、dir | 保存条件、文件名与目录;写入权限和磁盘空间都要验证 |
| AOF 日志 | appendonly、appendfsync 及目标版本的文件布局项 | 持久性、重写资源和恢复流程一起评估 |
| 复制与分片 | 目标版本的 replicaof、复制积压、cluster-* 等 | 先明确主从、Sentinel 或 Cluster 拓扑 |
| 逻辑数据库 | databases | 单实例的逻辑库不是隔离的独立服务;Cluster 只使用库 0 |
原笔记中的 save 900 1、save 300 10、save 60 10000 表示三组快照触发条件,不代表所有 Redis 版本的默认值。先看实际 CONFIG GET save 与目标版本配置。
运行时修改与持久保存
- 记录当前值、修改目的与恢复值,并确认命令属于允许在线调整的参数。
- 通过
CONFIG SET调整后,用CONFIG GET复核,不把返回OK直接当作业务验证。 - 决定由哪个配置源持久管理:人工配置文件、部署模板或管理服务。
CONFIG REWRITE尝试更新实例使用的配置文件,不等于同步修改部署系统里的模板;文件不可写、没有配置文件或受管服务都可能限制它。- 在隔离/预发布环境重启核对持久值,并验证客户端连接、内存和持久化指标。
不要同时由在线命令与模板各维护一份相互冲突的配置。多节点修改要按角色逐个确认,不把单节点返回值当成集群全部生效。
常见问题从哪里查
- 重启后恢复旧值:检查启动参数、最终配置路径、include 顺序,以及部署模板是否覆盖在线修改。
- 客户端连不上:核对监听地址/端口、网络可达性、ACL/TLS 和客户端身份;不要仅为连通就关闭访问控制。
- 写入内存错误:核对
maxmemory、策略候选范围及键大小,不将过期与淘汰当成同一机制。 - 持久化失败或延迟升高:检查磁盘、目录权限、后台保存/重写状态和复制开销。
机制比较见 Redis 知识复盘。
完整历史 redis.conf
以下配置保留原来的中文注释、指令与英文附注,用于对照字段。原文含“保护模式是”“设备在中间。”等未加 # 的翻译残片,因此整块不是语法有效的 redis.conf,不应直接交给服务端加载;残片保持原样以便追溯。实际采用前应从目标 Redis 版本随附配置重新确认支持的参数及默认值。
展开完整历史配置
完整文件:完整历史 redis.conf(txt)。保留原始内容,使用前请核对本文的版本与环境说明。
继续阅读
- 数据与原子性CentOS 7 与 Redis 4.0.1 安装笔记 · 历史版本
- 数据与原子性
- 数据与原子性