🔧 Redis 配置

Redis 服务器配置详解与优化指南

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 配置可以通过以下方式生效: