新项目使用了 Reids 的过期监听来执行延时任务,在不搭建 redis 高可用集群的情况下,还是想尽量保证 Redis 数据不丢失,于是就打算把 Redis 的持久化配置上,研究了下相关资料,这里做下记录:
在配置 Redis 的持久化时,通常会选择 RDB(Redis Database)快照和 AOF(Append Only File)日志的组合,以兼顾性能和数据持久性。以下是一个合理的混合持久化配置示例:
1. RDB 配置
RDB 是 Redis 的快照持久化机制,它会在特定时间间隔内保存数据快照到磁盘。RDB 配置如下:
# RDB 持久化间隔配置(在满足条件时生成快照)
save 900 1 # 900 秒(15 分钟)内至少有 1 个键被修改
save 300 10 # 300 秒(5 分钟)内至少有 10 个键被修改
save 60 10000 # 60 秒内至少有 10000 个键被修改
# RDB 文件名称(可选)
dbfilename dump.rdb
# RDB 文件保存路径(可选)
dir /var/lib/redis
2. AOF 配置
AOF 是 Redis 的追加日志持久化机制,它会记录每个写操作,以便在重启时重放这些操作。AOF 配置如下:
# 启用 AOF 持久化
appendonly yes
# AOF 文件名称
appendfilename "appendonly.aof"
# AOF 写入策略
appendfsync everysec # 每秒同步一次
# AOF 重写配置
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
3. 混合持久化策略
结合 RDB 和 AOF 的优点,可以配置如下:
# 混合持久化策略
aof-use-rdb-preamble yes
启用 aof-use-rdb-preamble 选项后,AOF 文件在重写时会包含一个 RDB 预备文件,这样可以加快重启速度,并减少 AOF 文件的大小。
4. 完整配置示例
# RDB 配置
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
dir /var/lib/redis
# AOF 配置
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
# 混合持久化策略
aof-use-rdb-preamble yes
2 条评论
怎么收藏这篇文章?
博主真是太厉害了!!!