以下是 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 服务器的性能、安全性和高可用性,满足不同应用场景的需求。