Redis-持久化机制

持久化机制介绍

  • RDB
  • AOF
  • RDB和AOF对比

RDB

rdb的话是利用了写时复制技术,他是看时间间隔内key值的变化量,就比如20秒内如果有5个key改变过的话他就会创建一个fork子进程(bgsave),通过这个子进程,将数据快照进入一个临时文件,完成之后再将临时文件去覆盖dump.rdb文件
主要流程如下:
Redis-持久化机制_第1张图片

AOF

AOF:Redis 默认不开启。它的出现是为了弥补RDB的不足(数据的不一致性),所以它采用日志的形式来记录每个写操作,并追加到文件中(秒级)
Redis-持久化机制_第2张图片
AOF的命令记录的频率也可以通过redis.conf文件来配置,一般我们是采用everysec
Redis-持久化机制_第3张图片
因为是记录命令,AOF文件会比RDB文件大很多,而且AOF会记录对同一个key的多次写操作,但是实际上只有最后一次才有意义。Redis-持久化机制_第4张图片
我们可以通过bgrewriteaof命令,让AOF文件执行重写功能,这样他就可以只记录最后一次,减少命令的行数在这里插入图片描述
当然,其实redis中也会在触发阈值的时候自动去重写AOF文件,阈值也可以在redis.conf中配置,Redis-持久化机制_第5张图片

RDB和AOF对比

RDB和AOF各自有各自的优点,如果我们需要对数据的安全性要求高的话,在实际开发中会结合两者来一起使用

Redis-持久化机制_第6张图片

你可能感兴趣的:(Redis,redis,数据库,缓存)