温馨提示×

centos配置redis有哪些技巧

小樊
35
2025-11-25 19:33:00
栏目: 云计算

CentOS 配置 Redis 的实用技巧

一 基础配置与目录规范

  • 使用包管理器安装并启用服务:sudo yum install -y epel-release redis;sudo systemctl enable --now redis。配置文件通常位于 /etc/redis.conf,日志建议写入 /var/log/redis/redis.log,数据目录使用 /var/lib/redis,并设置专用系统用户(如 redis:redis)与目录权限,避免以 root 运行。示例关键项:daemonize yes、port 6379、bind 127.0.0.1(公网访问再改为内网接口或配合防火墙)、logfile /var/log/redis/redis.log、dir /var/lib/redis。服务管理方式:systemctl start|stop|restart|status redis。

二 持久化与内存策略

  • 同时开启 RDBAOF 以兼顾恢复速度与数据安全性:RDB 使用 save 策略(如 save 900 1、save 300 10、save 60 10000),AOF 设置 appendonly yes,并根据写负载选择 appendfsync(everysec 为通用稳妥选择)。设置合理的内存上限与淘汰策略:maxmemory 4gb(按实例内存规划),maxmemory-policy 依据业务选择(如 volatile-lruallkeys-lrunoeviction)。注意:开启 AOF 会增加磁盘 I/O,需结合磁盘性能与业务可接受的数据丢失窗口调优。

三 网络与连接优化

  • 提升并发连接处理能力:调高内核与 Redis 的队列参数,如 net.core.somaxconn 1024(或更高)、tcp-backlog 511;在 /etc/security/limits.conf 为 Redis 用户设置文件描述符上限(如 redis soft/hard nofile 65535),并在 systemd 服务中配置 LimitNOFILE=65535。空闲连接保活:tcp-keepalive 300。访问控制:bind 绑定内网接口,配合防火墙仅放行应用网段,生产环境务必设置强密码(requirepass),并保留或正确配置 protected-mode 以降低暴露风险。

四 安全加固与访问控制

  • 最小化暴露面:默认仅本地访问(bind 127.0.0.1),需要远程访问时仅开放给受控网段,并通过防火墙限制端口 6379/tcp。启用身份验证(requirepass),避免使用空密码;谨慎变更 protected-mode(建议保持开启并配合密码/绑定使用,而非直接关闭)。若跨机房或公网传输,考虑启用 TLS/SSL 加密通道。服务与目录权限最小化:以非 root 用户运行,日志与数据目录仅对 Redis 用户可读写。

五 监控 维护与压测

  • 建立可观测性:开启慢查询日志(slowlog-log-slower-than 10000 微秒,slowlog-max-len 128),结合日志与 INFO 命令观察命中率、内存碎片、阻塞客户端等指标。变更生效与重启:修改配置后使用 systemctl restart redis,滚动更新时先备份 redis.conf 与持久化文件。基线压测与回归:使用 redis-benchmark -q -n 100000 -c 50 -P 16 做基线,关注 P95/P99 延迟与错误率,结合监控再迭代参数(如 maxmemory、持久化策略、连接数等)。

0