CentOS 上部署与优化 Redis 的关键配置清单
一 基础网络与守护进程
- 配置文件路径:常见为 /etc/redis/redis.conf;以 systemd 管理时,注意与服务单元的 PIDFile 路径一致。
- 监听与端口:仅在内网使用可设 bind 127.0.0.1;需要远程访问时绑定内网地址或按白名单限制来源。
- 守护进程:生产建议 daemonize yes,与 systemd 的 Type=forking 匹配。
- 典型基础配置示例:
- bind 127.0.0.1
- port 6379
- daemonize yes
- pidfile /var/run/redis_6379.pid
- logfile /var/log/redis/redis.log
- dir /var/lib/redis
以上路径与服务单元一致性、基础网络与守护进程设置,有助于稳定启停与排障。
二 安全加固
- 认证与保护:启用 requirepass <强密码>;保持 protected-mode yes,仅在内网或受控网络下放宽。
- 访问控制:通过 bind 限制监听接口;配合 firewalld/iptables 仅放行可信网段/IP 的 6379/tcp。
- 最小权限:创建 redis 专用系统用户,禁止以 root 运行 Redis。
- 命令治理:重命名或禁用高危命令(如 FLUSHDB/FLUSHALL/KEYS),降低误操作与风险暴露。
- 加密与合规:跨公网或合规要求时启用 SSL/TLS;保持 Redis 与系统补丁及时更新。
- 示例(按需启用):
- requirepass YourStrongPass!
- bind 127.0.0.1(或内网白名单)
- 防火墙放行:firewall-cmd --permanent --add-rich-rule=‘rule family=“ipv4” source address=“10.0.0.0/8” port port=“6379” protocol=“tcp” accept’ && firewall-cmd --reload
以上措施覆盖认证、访问控制、最小权限、命令治理与加密通信等核心安全要点。
三 持久化策略
- RDB 快照:通过 save 900 1 / 300 10 / 60 10000 控制快照触发;也可禁用 save “”。
- AOF 追加:启用 appendonly yes,同步策略常用 appendfsync everysec(性能与持久化折中)。
- 关键参数:
- dbfilename dump.rdb
- appendfilename “appendonly.aof”
- dir /var/lib/redis(确保目录存在且 Redis 有写权限)
- 验证与演练:
- 配置生效后用 redis-cli 执行:config get save / appendonly / appendfsync
- 写入测试数据,重启实例验证数据是否恢复
上述 RDB/AOF 配置与验证流程,兼顾性能与数据安全,适用于大多数生产场景。
四 性能与稳定性优化
- 内存治理:设置 maxmemory <容量>(如机器内存留出 20%~30% 余量),并选择合适的淘汰策略(如 volatile-lru / allkeys-lru / allkeys-lfu)。
- 内核与网络:
- 提升连接承载能力:tcp-backlog 511
- 文件描述符:ulimit -n 65535,并在 /etc/security/limits.conf 为 redis 用户设置 soft/hard nofile
- 系统参数:net.core.somaxconn、net.ipv4.tcp_max_syn_backlog 适度调高,net.ipv4.ip_local_port_range 合理放大
- 透明大页(THP):建议禁用(如 echo never > /sys/kernel/mm/transparent_hugepage/enabled),降低 fork 与内存访问抖动。
- 监控与调优:开启 slowlog-log-slower-than 10000(单位微秒)、slowlog-max-len 128;结合 INFO、监控平台(如 Prometheus/Grafana)持续观测。
- 高可用与扩展:数据量大或可用性要求高时,考虑 Redis Cluster 或主从复制。
以上优化项覆盖内存、网络、文件句柄、内核与监控,能显著提升稳定性与吞吐。
五 运维与验证
- 服务管理:
- 启动/停止/重启:systemctl start|stop|restart redis
- 开机自启:systemctl enable redis
- 连通性与健康:
- 本地探活:redis-cli ping(返回 PONG 为正常)
- 远程连接:redis-cli -h -p -a
- 日志与审计:检查 logfile 输出,关注持久化、慢查询与异常告警。
- 变更流程:修改 redis.conf 后先备份,必要时灰度重启;对关键参数(如 maxmemory、持久化策略)先在测试环境验证。
以上步骤确保上线前后可验证、可回滚、可追溯,降低变更风险。