温馨提示×

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-use-rdb-preamble yes
  • 运行时热开启(不重启)
    • 开启 AOF:config set appendonly yes
    • 开启混合:config set aof-use-rdb-preamble yes
  • 验证与运维
    • 查看持久化状态:info persistence
    • 手动快照:bgsave;AOF 重写:bgrewriteaof
    • 备份恢复:确认 dirdbfilename/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。

0