下面分几种常见场景,说明在 CentOS 上如何持久化 Redis。Redis 的持久化不是 CentOS 本身的功能,而是 Redis 自身的机制,CentOS 只是提供运行环境。
Redis 支持 两种持久化方式,可单独使用,也可同时使用:
dump.rdbappendonly.aof✅ 生产环境推荐:RDB + AOF 同时开启
常见路径:
/etc/redis.conf
或
/etc/redis/redis.conf
如果不确定:
redis-server --version
ps -ef | grep redis
在 redis.conf 中:
save 900 1
save 300 10
save 60 10000
含义:
RDB 文件名和路径:
dbfilename dump.rdb
dir /var/lib/redis
✅ 确保目录存在:
mkdir -p /var/lib/redis
chown redis:redis /var/lib/redis
编辑 redis.conf:
appendonly yes
appendfilename "appendonly.aof"
AOF 刷盘策略(重要):
appendfsync everysec
可选值:
always:最安全,性能最差everysec ✅ 推荐no:依赖操作系统systemctl restart redis
systemctl status redis
service redis restart
ls -lh /var/lib/redis
应看到:
dump.rdb
appendonly.aof
redis-cli
set test 123
exit
重启 Redis:
systemctl restart redis
再进入:
redis-cli
get test
✅ 如果还能取到 123,说明持久化成功。
否则可能影响 Redis 稳定性:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
持久化:
vi /etc/rc.d/rc.local
添加:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
/tmpcp /var/lib/redis/dump.rdb /backup/
cp /var/lib/redis/appendonly.aof /backup/
原因可能是:
dir 路径不对/ 为工作目录启动docker 但没挂载数据卷修复:
redis-check-aof --fix appendonly.aof
✅ 生产环境推荐配置
save 900 1
save 300 10
save 60 10000
appendonly yes
appendfsync everysec
dir /var/lib/redis
如果你愿意,我可以:
直接告诉我你的使用场景即可。