《Redis学习整理--第七期Redis持久化》

Redis中存储方式有两种 cache-only,persistence;
  1. cache-only 缓存服务,不持久数据,服务停止后数据将消失,不存在数据恢复的可能性,是一种 安全性低 效率高 易拓展的方式
  2. persistence 持久化服务

persistence
redis 提供两种持久化方法
  • Redis DataBase(简称RDB)
  • Append-only file (简称AOF)

RDB持久化
rdb持久化是将某一时间点的数据写入一个临时文件,持久化结束后,用这次的文件代替上次的文件,达到数据恢复。
优点 使用子进程进行持久化,主进程不会进行任何IO操作,保持了Redis高效性
缺点 如果在持久化过程中redis发生故障,可能会导致数据丢失

RDB持久化时间设置
RDB持久化的时间点是在配置文件中配置的,通过配置 redis在n秒内如果超过m个Key被修改,则执行一次RDB操作,该持久化方法被叫做snapshots
RDB默认开启 redis配置文件如下

snapshots触发机制是 间隔时间变更次数 共同决定的,同时符合两个条件才会触发snapshots,否则变更次数将会累积到下次间隔时间

AOF持久化
append-only file 将“操作”+“数据” 以 格式化指令的方式写入日志文件的尾部,在append操作返回后(已经写入或正在写入),才进行实际的变更,"日志文件"保存了历史所有的操作过程,当server需要数据恢复时,可以直接replay此日志文件,即可还原所有的操作过程。
优点:可以保持更高的数据完整性,如果设置追加file的时间是1s,如果redis发生故障,最多会丢失1s的数据;且如果日志写入不完整支持redis-check-aof来进行日志修复;AOF文件没被rewrite之前(文件过大时会对命令进行合并重写),可以删除其中的某些命令(比如误操作的flushall)。
缺点:AOF文件比RDB文件大,且恢复速度慢。

AOF配置
AOF默认关闭,开启方法,修改配置文件reds.conf:appendonly yes


AOF 同步选项


猜你喜欢

转载自blog.csdn.net/qq794096244/article/details/79557581