温馨提示×

centos redis配置要注意啥

小樊
42
2026-09-05 23:52:27
栏目: 云计算

在 CentOS 上配置和使用 Redis,有几个容易踩坑但很关键的地方,下面按“系统层面 → Redis 配置 → 安全 → 性能运维”给你梳理一下。


一、系统与基础环境

1. 用官方源或 EPEL,不要乱装

yum install -y epel-release
yum install -y redis

或者直接用 Redis 官方 RPM(版本更新)。

2. 内存与 Swap

  • Redis 是内存数据库
  • 建议:
    • 物理内存 ≥ 数据量 × 1.5
    • 保留一部分 Swap(防止 OOM)

3. 关闭 Transparent Huge Pages(很重要)

CentOS 默认开启 THP,会导致 Redis 延迟抖动:

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

并写入开机脚本或 /etc/rc.d/rc.local


二、Redis 核心配置(redis.conf)

1. 绑定 IP(安全重点)

bind 127.0.0.1
# 或内网 IP
bind 192.168.1.10

⚠️ 不要直接 bind 0.0.0.0 且不设密码

2. 设置密码

requirepass your_strong_password

客户端连接:

redis-cli -a password

3. 保护模式

protected-mode yes

(公网环境必须开)

4. 持久化配置

根据业务选择:

  • RDB(快照)
save 900 1
save 300 10
save 60 10000
  • AOF(更安全)
appendonly yes
appendfsync everysec

⚠️ AOF + 高写入 = 磁盘 IO 压力


三、安全注意事项(非常关键)

1. 不要暴露公网

  • 防火墙只开放内网
firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --reload

2. 禁止危险命令(可选)

rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""

3. 不要用 root 跑 Redis

Redis 默认用 redis 用户运行,确认一下:

ps -ef | grep redis

四、性能与稳定性

1. maxmemory 必须设

否则内存爆了直接 OOM:

maxmemory 2gb
maxmemory-policy allkeys-lru

常见策略:

  • allkeys-lru:通用缓存
  • volatile-lru:只淘汰带 TTL 的 key

2. backlog & tcp

tcp-backlog 511
timeout 0

3. 慢查询监控

slowlog-log-slower-than 10000
slowlog-max-len 128

五、开机 & 运维

1. 开机自启

systemctl enable redis
systemctl start redis

2. 日志位置

logfile /var/log/redis/redis.log

定期清理或接 logrotate


六、常见坑总结

❌ 公网裸奔 Redis(被挖矿) ❌ 不限制 maxmemory ❌ 开 THP 导致延迟 ❌ AOF 不配但要求不丢数据 ❌ 用 root 跑 Redis


如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • Redis 用途(缓存 / 队列 / 数据库)
  • 单机还是集群

我可以给你一份可直接用的 redis.conf 模板

0