以下是 redis.conf
文件中常用的关键配置项及其解释:
基本配置
-
port
: Redis 服务器监听的端口,默认值为 6379。port 6379
-
bind
: Redis 服务器绑定的IP地址。可以设置为多个IP地址,默认为空,表示绑定所有网络接口。bind 127.0.0.1
-
daemonize
: 指定是否以守护进程方式运行 Redis。值为yes
或no
,默认为no
。daemonize yes
性能优化
-
maxmemory
: 设置 Redis 使用的最大内存量。如果超过此值,Redis 会根据指定的淘汰策略删除数据。单位可以是 KB、MB 或 GB。maxmemory 512mb
-
maxmemory-policy
: 设置内存使用超过maxmemory
时的淘汰策略。可选值包括volatile-lru
、allkeys-lru
、volatile-random
、allkeys-random
、volatile-ttl
和noeviction
。maxmemory-policy allkeys-lru
持久化
-
save
: 配置 RDB 快照的保存策略。每行表示在指定时间内有多少次写操作时触发快照保存。save 900 1 save 300 10 save 60 10000
-
appendonly
: 启用 AOF(Append Only File)持久化。值为yes
或no
。appendonly yes
-
appendfilename
: 设置 AOF 文件的文件名。appendfilename "appendonly.aof"
-
appendfsync
: 配置 AOF 文件的同步策略。可选值为always
、everysec
和no
。appendfsync everysec
安全
-
requirepass
: 设置 Redis 服务器的访问密码。requirepass yourpassword
-
rename-command
: 重命名或禁用某个命令,以增强安全性。rename-command FLUSHDB ""
网络
-
tcp-backlog
: 设置 TCP 连接的 backlog 队列长度,影响客户端连接的处理能力。tcp-backlog 511
-
timeout
: 设置客户端连接超时时间,单位为秒。设置为 0 表示不超时。timeout 300
复制
-
slaveof
: 设置从服务器连接的主服务器地址和端口。slaveof 127.0.0.1 6379
-
masterauth
: 如果主服务器设置了密码,从服务器需要通过该配置项提供密码进行认证。masterauth yourmasterpassword
-
slave-priority
: 设置从服务器的优先级。值越小,优先级越高。当主服务器故障时,Redis 哨兵会选择优先级最高的从服务器作为新的主服务器。如果一个从服务器的slave-priority
设置为 0,则这个从服务器不会被选为新的主服务器。slave-priority 100
集群
-
cluster-enabled
: 启用 Redis 集群模式。cluster-enabled yes
-
cluster-config-file
: 设置集群配置文件的路径。cluster-config-file nodes.conf
-
cluster-node-timeout
: 设置集群节点间通信的超时时间,单位为毫秒。cluster-node-timeout 5000
日志
-
loglevel
: 设置日志级别。可选值包括debug
、verbose
、notice
和warning
。loglevel notice
-
logfile
: 设置日志文件路径。默认情况下,日志输出到标准输出。logfile /var/log/redis/redis.log
客户端
maxclients
: 设置允许的最大客户端连接数。maxclients 10000
杂项
databases
: 设置数据库的数量。默认值为 16。databases 16
示例配置
以下是一个示例 redis.conf
文件,包含一些常见的配置项:
# 基本配置
port 6379
bind 127.0.0.1
daemonize yes
# 性能优化
maxmemory 512mb
maxmemory-policy allkeys-lru
# 持久化
save 900 1
save 300 10
save 60 10000
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
# 安全
requirepass yourpassword
# 网络
tcp-backlog 511
timeout 300
# 复制
slaveof 127.0.0.1 6379
masterauth yourmasterpassword
slave-priority 100
# 集群
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
# 日志
loglevel notice
logfile /var/log/redis/redis.log
# 客户端
maxclients 10000
# 杂项
databases 16
通过合理配置 redis.conf
,可以优化 Redis 服务器的性能、安全性和高可用性,满足不同应用场景的需求。