Redis 的配置文件是控制其运行行为的核心,默认文件名为 redis.config(Windows 系统为redis.windows.conf),通常位于 Redis 安装目录下。通过配置文件,可定制网络、持久化、内存、安全等关键能力,是生产环境部署与性能调优的核心抓手。
一、配置文件基础操作
1. 配置文件位置
-
默认路径:Redis 安装目录下的 redis.config
-
自定义加载:启动时指定配置文件路径
启动时加载指定配置文件
redis-server /usr/local/redis/redis.config
2. 动态查看与修改配置(CONFIG 命令)
无需重启服务,可在线查看或临时修改配置,临时配置重启后失效。
(1)查看配置
# 查看单个配置项(如日志级别)
redis 127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"
# 查看所有配置项
redis 127.0.0.1:6379> CONFIG GET *
(2)修改配置
# 修改日志级别为 warning
redis 127.0.0.1:6379> CONFIG SET loglevel "warning"
OK
3. 永久生效配置
动态修改仅临时生效,永久配置需直接编辑 redis.conf 文件,修改后重启 Redis 服务。
二、核心配置项详解
1. 基础运行配置
控制 Redis 进程的启动方式、PID 文件等基础行为。
表格
| 配置项 | 默认值 | 说明 |
|---|---|---|
daemonize |
no |
是否以守护进程(后台)运行,生产环境建议设为 yes(Windows 不支持守护进程,保持 no) |
pidfile |
/var/run/redis.pid |
守护进程模式下,PID 文件存储路径,用于进程管理 |
port |
6379 |
Redis 监听端口,默认 6379;多实例部署需修改为不同端口(如 6380) |
bind |
127.0.0.1 |
绑定主机 IP,默认仅本地访问;需外网访问时注释或改为 0.0.0.0(需配合密码 + 防火墙) |
timeout |
0 |
客户端空闲超时时间(秒),0 表示永不关闭,建议生产环境设为 300(5 分钟)释放空闲连接 |
2. 日志配置
控制日志级别、输出路径,用于问题排查与运行监控。
表格
| 配置项 | 默认值 | 说明 |
|---|---|---|
loglevel |
notice |
日志级别:debug(调试,最详细)、verbose、notice(默认)、warning(仅警告 / 错误) |
logfile |
"" |
日志文件路径,默认空 |
3. 数据库配置
设置数据库数量,控制数据隔离能力。
| 配置项 | 默认值 | 说明 |
|---|---|---|
databases |
16 |
数据库总数,默认 16 个(编号 0~15);通过 SELECT 库编号 切换数据库 |
4. 持久化配置(RDB+AOF)
Redis 数据默认存内存,重启丢失;持久化可将数据落盘,保障数据安全。
(1)RDB 配置(快照,全量备份)
定期将内存数据生成 .rdb 快照文件,恢复速度快,但可能丢失最后一次快照后的数据。
| 配置项 | 默认值 | 说明 |
|---|---|---|
save |
3600 1 300 100 60 10000 |
快照触发条件(时间 + 修改次数):3600 秒(1 小时)≥1 次修改、300 秒(5 分钟)≥100 次修改、60 秒≥10000 次修改 |
dbfilename |
dump.rdb |
RDB 快照文件名 |
dir |
./ |
RDB/AOF 文件存储目录,默认当前目录,建议指定独立路径 |
rdbcompression |
yes |
是否压缩 RDB 文件(LZF 算法),节省磁盘但消耗 CPU |
(2)AOF 配置(日志,增量备份)
记录所有写操作命令,重启后重放命令恢复数据,数据安全性高,但文件体积大、恢复慢。
表格
| 配置项 | 默认值 | 说明 |
|---|---|---|
appendonly |
no |
是否开启 AOF,默认关闭;生产环境建议开启(yes),防止数据丢失 |
appendfilename |
appendonly.aof |
AOF 日志文件名 |
appendfsync |
everysec |
刷盘策略:no(系统自动刷盘,快但丢数据)、always(每次写都刷盘,安全但慢)、everysec(每秒刷盘,折中,默认) |
auto-aof-rewrite-percentage |
100 |
AOF 重写触发比例:文件增长 100%(翻倍)时触发重写,压缩日志体积 |
auto-aof-rewrite-min-size |
64mb |
AOF 重写最小文件大小,避免小文件频繁重写 |
5. 内存管理配置
控制 Redis 内存使用上限与淘汰策略,防止内存溢出。
表格
| 配置项 | 默认值 | 说明 |
|---|---|---|
maxmemory |
0 |
最大内存限制,0 表示无限制;生产环境必须设置(如 2gb),避免占满服务器内存 |
maxmemory-policy |
volatile-lru |
内存淘汰策略(内存满时删除 key):volatile-lru(默认,删除过期 key 中最近最少使用)、allkeys-lru(所有 key 中最近最少使用)、volatile-ttl(过期 key 中剩余时间最短)、noeviction(不删除,直接报错) |
6. 安全配置
加固 Redis 访问安全,防止非法连接与数据泄露。
表格
| 配置项 | 默认值 | 说明 |
|---|---|---|
requirepass |
"" |
设置访问密码,默认无密码;生产环境必须设置复杂密码,客户端需 AUTH 密码 认证 |
maxclients |
128 |
最大客户端连接数,默认 128;0 表示无限制,连接超限后拒绝新连接 |
7. 主从复制配置(高可用基础)
实现主从数据同步,主节点写、从节点读,提升读性能与数据冗余。
| 配置项 | 默认值 | 说明 |
|---|---|---|
slaveof |
"" |
从节点配置:指定主节点 IP + 端口(如 slaveof 192.168.1.100 6379),启动后自动同步主节点数据 |
masterauth |
"" |
从节点连接主节点的密码(主节点设置 requirepass 时必填) |
slave-read-only |
yes |
从节点是否只读,默认 yes(禁止写操作,保障数据一致性) |