- 首页 >
- 问答 >
-
云计算 >
- Redis持久化在CentOS上如何选择
Redis持久化在CentOS上如何选择
小樊
36
2025-11-21 20:23:06
Redis持久化在 CentOS 上的选型与落地
一、选型建议
- 仅缓存、允许分钟级丢失:使用 RDB 快照,配置如 save 900 1、save 300 10、save 60 10000,兼顾性能与定期备份需求。RDB 文件小、恢复快,适合做时间点备份与灾难恢复。注意大数据集时 fork 可能带来毫秒级阻塞。
- 高可用、容忍秒级丢失:使用 AOF,推荐 appendfsync everysec,在性能与数据安全之间平衡;开启 auto-aof-rewrite-percentage 100、auto-aof-rewrite-min-size 64mb 控制文件膨胀。AOF 文件更大、恢复更慢,但数据更完整。
- 既要性能又要更少丢失:同时开启 RDB+AOF(混合持久化),在 Redis 4.0+ 使用 aof-use-rdb-preamble yes。重启时优先加载 AOF,既加快启动又降低数据丢失风险。
二、关键配置示例 CentOS 7/8
- RDB 最小可用配置(/etc/redis/6379.conf)
- save 900 1
- save 300 10
- save 60 10000
- dbfilename dump.rdb
- dir /var/lib/redis
- rdbcompression yes
- rdbchecksum yes
- AOF 最小可用配置
- appendonly yes
- appendfilename “appendonly.aof”
- appendfsync everysec
- auto-aof-rewrite-percentage 100
- auto-aof-rewrite-min-size 64mb
- aof-load-truncated yes
- 混合持久化(Redis 4.0+)
- 运行时热开启(不重启)
- 开启 AOF:config set appendonly yes
- 开启混合:config set aof-use-rdb-preamble yes
- 验证与运维
- 查看持久化状态:info persistence
- 手动快照:bgsave;AOF 重写:bgrewriteaof
- 备份恢复:确认 dir 与 dbfilename/aof 文件名,先停库、拷文件、再启动;RDB 恢复时建议 appendonly no,避免未按预期加载。
三、备份与恢复要点
- 备份策略
- 定期将 dump.rdb 或 appendonly.aof 复制到异地存储(如独立磁盘/对象存储),保留多份与多日滚动;结合 Cron 自动化;必要时配合主从复制提升可用性。
- RDB 恢复
- 建议流程:systemctl stop redis → 将备份的 dump.rdb 放到 dir 指定目录 → 确保 appendonly no → systemctl start redis;用 info persistence 与日志校验。
- AOF 恢复
- 建议流程:systemctl stop redis → 将备份 appendonly.aof 放到 dir → 确保 appendonly yes → systemctl start redis;如文件异常,开启 aof-load-truncated yes 提高可恢复性。
四、监控与容量规划
- 监控指标
- 持久化状态与最近保存时间:info persistence;AOF 重写频率与文件大小;RDB 生成耗时与失败告警。
- 容量与性能
- 预估 AOF 重写 产生的额外磁盘与 I/O;RDB 快照期间 fork 对延迟的影响(大数据集更明显);为 dir 所在磁盘预留空间与 IOPS。