第五章-Redis持久化的取舍和选择
2019-04-17 本文已影响0人
yanghx
目录
- 持久化的作用
- RDB
- AOF
- RDB和AOF的抉择
一. 持久化的作用
- 什么市持久化
- redi所有的数据保存在内存中。对数据的更新将异步的保存到磁盘上
- 持久化方式
- 快照 【mysql Dump , Redis RDB】
- 写日志 【mysql Binlog , Hbase HLog , Redsi AOF】 将每次操作都记录下来。恢复时,重新执行一次
二. RDB
介绍
RDB的触发方式
-
主要三种方式
- save(同步) 同步命令。会阻塞
- bgsave(异步)
- 自动
-
不可忽略方式
- 全量复制
- debug reload
- shutdown
![image.png](https://img.haomeiwen.com/i2127468/37426f8c286d2429.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
- image.png image.png
实验
总结
- RDB是Redis内存到硬盘的快照。用于持久化。
- save通常会阻塞Redis
- bgsave不会阻塞Redis。 但是会fork新进程
- save自动配置满足任一就会被执行。
- 有些触发机制不容忽视
三. AOF
RDB现存的问题
- 耗时,耗性能
- 不可控,丢失数据
什么是AOF
image.png image.pngAOF的三种策略
-
always
每次 -
everysec
每秒 no
AOF重写
四. RDB和AOF的抉择
-
RDB和AOF的比较
-
RDB的最佳策略
-
AOF的最佳策略
-
最佳策略
-
RDB和AOF的比较
image.png
-
RDB的最佳策略
-
AOF的最佳策略
-
最佳策略