Redis 配置文件
Redis 的行为由配置文件控制,Linux 下一般位于 /etc/redis/redis.conf(源码安装默认在安装目录内,可用 redis-server --version 查看路径或用 -c 显式指定)。改配置后必须重启服务或执行 CONFIG REWRITE 才全部生效,部分项可运行时热改。
配置文件位置
查看当前生效的配置文件路径:
redis-cli CONFIG GET dir
# 输出:1) "dir" 2) "/var/lib/redis"
redis-cli CONFIG GET logfile
# 输出:1) "logfile" 2) "/var/log/redis/redis-server.log"
常用配置项
redis.conf 采用 key value 的写法,# 开头为注释。常用项如下:
| 配置项 | 默认值 | 说明 |
|---|---|---|
| port | 6379 | 监听端口 |
| bind | 127.0.0.1 | 绑定地址,改 0.0.0.0 允许远程 |
| protected-mode | yes | 保护模式,无密码时不接受远程连接 |
| daemonize | no | 是否后台运行,包管理器安装可能默认 yes |
| requirepass | 空 | 访问密码,设置后连接需认证 |
| maxmemory | 0(不限) | 最大内存,超限按策略淘汰 |
| save | "3600 1 300 100 ..." | RDB 快照触发条件 |
| appendonly | no | 是否开启 AOF 持久化 |
| databases | 16 | 逻辑库数量(0~15) |
生产环境至少要设置 requirepass 并限制 bind。
指定配置启动
用 -c 参数指定配置文件启动,测试常用临时端口启动:
redis-server /etc/redis/redis.conf # 用指定配置文件启动
redis-server --port 6380 # 命令行覆盖端口
redis-server /etc/redis/redis.conf --port 6380
配置文件片段示例
一个最小生产配置片段(/etc/redis/redis.conf 局部):
bind 0.0.0.0
protected-mode no
port 6379
daemonize yes
requirepass YourStrongPass123
maxmemory 512mb
maxmemory-policy allkeys-lru
appendonly yes
注意:bind 0.0.0.0 且没有密码时极易被入侵,务必配套 requirepass。
CONFIG GET / SET 运行时查询与修改
不重启即可查询与修改部分配置:
redis-cli CONFIG GET maxmemory
# 输出:1) "maxmemory" 2) "0"
redis-cli CONFIG SET maxmemory 256mb
# 输出:OK
redis-cli CONFIG REWRITE
# 输出:OK # 把运行时改动写回 redis.conf
CONFIG SET 只对运行实例生效,CONFIG REWRITE 才会持久化到配置文件。
密码认证
设置 requirepass 后,客户端操作前必须认证:
redis-cli -a YourStrongPass123 ping
# 输出:PONG
redis-cli
127.0.0.1:6379> AUTH YourStrongPass123
# 输出:OK
小结
Redis 配置核心是「选对配置文件 → 按需设置 port/bind/requirepass/maxmemory → 重启验证」。运行期可用 CONFIG GET/SET 热调整,配完记得 CONFIG REWRITE 落盘,避免重启后改动丢失。