Redis持久化机制详解:RDB与AOF的选择与权衡

目录

RDB

默认触发条件

关闭RDB

AOF

AOF 支持几种同步频率方式

总结:两种持久化方式,如何选择?


将内存中的对象保存到可永久保存的存储设备中。例如数据库、磁盘文件、 XML 数据文件等等。避免重启系统或者关闭系统后导致缓存丢失。如果你只希望你的数据在服务器运行的时候存在,你也可以不使用任何持久化方式。

Redis的持久化有2种,

RDB

RDB持久化方式能够在指定的时间间隔能对你的数据进行快照存储。但会有丢失数据的可能性。

在Redis中,RDB是默认的持久化方式,它将内存中的数据写入到Redis根目录dump.rdb文件中。等到下一次启动 Redis 时,Redis 会去读取该目录下的 dump.rdb 文件,将里面的数据恢复到 Redis。

默认触发条件

1.服务器在900秒之内,对数据库进行了至少1次修改

2.服务器在300秒之内,对数据库进行了至少10次修改。

3.服务器在60秒之内,对数据库进行了至少10000次修改。

关闭RDB

AOF

AOF持久化方式每次写操作都会记录到文件中。等到下一次启动 Redis 时,Redis 会去读取该目录下的 appendonly.aof 文件,将里面的数据恢复到 Redis。

AOF持久化方式默认不启动,启动为yes

appendonly.aof 记录操作的文件名

AOF 支持几种同步频率方式

appendfsync always # 每次有数据修改发生时都会写入AOF文件(安全但是费时)。

appendfsync everysec # 每秒钟同步一次,即使发生系统故障,最多也只会丢失最近一秒内的数据。

appendfsync no # 从不同步。高效但是数据不会被持久化。

总结:两种持久化方式,如何选择?

  1. 对于企业级的中大型应用,如果不想牺牲数据完整性但是又希望保持高效率,那么你应该同时使用 RDB 和 AOF 两种方式;
  2. 如果你不打算耗费精力在这个地方,只需要保证数据完整性,那么优先考虑使用 AOF 方式;
  3. RDB 方式非常适合大规模的数据恢复,如果业务对数据完整性和一致性要求不高,RDB是很好的选择。
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值