redis的持久化方式

作为一个小白,最近接触了一下redis,所以就写一些心得。
redis是一种高级的key-value数据库,它的数据保存在内存之中。如果没有进行持久化配置,那么当redis重启时,数据就会丢失。所以就需要开启持久化配置,将内存中的数据保存在磁盘上,当redis重启之后,可以从磁盘之中进行数据恢复。在这里redis提供了两种持久化配置,一种是RDB持久化,一种是AOF持久化。

RDB持久化:在指定的时间间隔内,将内存数据集的快照写到磁盘。其主要是一个fork子进程过程,将数据集写入一个临时文件,写入成功之后,替换之前的文件,然后用二进制进行压缩。

AOF持久化:其主要是以日志文件的方式对服务器的写、删除操作进行记录,查询操作不记录,以文本的方式记录,可以通过文本查看问一个操作的详细记录。

RDB优点:

  1. 采用RDB持久化之后,数据库只包含一个文件,便于备份。
  2. 非常方便的处理灾难数据恢复。可以将一个单独的文件压缩后,再转移到其它存储介质上。
  3. 性能最大化。RDB持久化时,只需要fork一个子进程,剩下的由子进程进行完成,避免了服务进程进行I/O操作。
  4. 当数据集比较大时,启动效率高于AOF。

AOF优点:

  1. AOF数据安全性更高。redis配置之中提供了3中同步方式:每秒同步、每修改同步、不同步。
  2. AOF采用append方式,在写日志过程之中,如若出现宕机,也不会破会之前已有数据。当写一部分时,出现问题,下一次启动时可以采用redis-check-aof工具,解决数据一致性问题。
  3. 当日志文件很大时,会启用rewrite。即以append方式向老磁盘之中添加,并且redis还会创建一个新的文件记录服务器的修改操作。
  4. AOF生成的日志文件更方便查看。

当需要保证数据的安全性或数据的一致性以及数据集很大时(RDB持久化借助于fork的子进程协助数据持久化,当数据集很大时,可能会使服务器出现短暂的停止服务)更推荐选择AOF持久化方式。如若是为了方面数据的备份,以及灾难数据恢复推荐使用RDB持久化方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值