Redis 配置概述
Redis 的配置主要通过 redis.conf
配置文件来管理。合理的配置可以显著提升 Redis 的性能、安全性和稳定性。本章将详细介绍 Redis 的各种配置选项。
🔧 基本配置
端口配置
Redis 默认监听端口为 6379,可以通过以下配置修改:
port 6379
绑定地址
指定 Redis 监听的网络接口:
bind 127.0.0.1 # 监听所有接口 bind 0.0.0.0
守护进程模式
设置 Redis 以守护进程方式运行:
daemonize yes
💾 内存配置
最大内存限制
设置 Redis 使用的最大内存:
maxmemory 2gb
内存淘汰策略
当内存达到上限时的处理策略:
# 不淘汰任何key,新写入操作会报错 maxmemory-policy noeviction # LRU淘汰策略 maxmemory-policy allkeys-lru # LFU淘汰策略 maxmemory-policy allkeys-lfu
💿 持久化配置
RDB 快照配置
配置 RDB 快照的生成条件:
# 900秒内至少1个key发生变化时保存 save 900 1 # 300秒内至少10个key发生变化时保存 save 300 10 # 60秒内至少10000个key发生变化时保存 save 60 10000
AOF 配置
配置 AOF (Append Only File) 持久化:
# 启用AOF appendonly yes # AOF文件名 appendfilename "appendonly.aof" # 同步策略 appendfsync everysec
🔒 安全配置
密码认证
设置 Redis 访问密码:
requirepass your_password_here
命令重命名
重命名或禁用危险命令:
# 重命名FLUSHDB命令 rename-command FLUSHDB my_flush_command # 禁用FLUSHALL命令 rename-command FLUSHALL ""
🌐 网络配置
超时设置
客户端空闲超时时间:
timeout 300
TCP keepalive
TCP 连接保活设置:
tcp-keepalive 300
最大客户端连接数
限制同时连接的客户端数量:
maxclients 10000
📊 日志配置
日志级别
设置日志记录级别:
# debug, verbose, notice, warning loglevel notice
日志文件
指定日志文件路径:
logfile /var/log/redis/redis-server.log
配置文件示例
以下是一个完整的 Redis 配置文件示例:
# Redis 配置文件示例 port 6379 bind 127.0.0.1 daemonize yes pidfile /var/run/redis/redis-server.pid # 内存配置 maxmemory 2gb maxmemory-policy allkeys-lru # 持久化配置 save 900 1 save 300 10 save 60 10000 appendonly yes appendfilename "appendonly.aof" appendfsync everysec # 安全配置 requirepass your_secure_password # 网络配置 timeout 300 tcp-keepalive 300 maxclients 10000 # 日志配置 loglevel notice logfile /var/log/redis/redis-server.log
配置生效方式
Redis 配置可以通过以下方式生效:
- 启动时加载:通过
redis-server /path/to/redis.conf
指定配置文件 - 运行时修改:使用
CONFIG SET
命令动态修改配置 - 保存配置:使用
CONFIG REWRITE
命令将运行时配置写入文件