Redis持久化
redis所有数据保持在内存中,对数据的更新将异步保存到磁盘上。
RDB
RDB是Redis用来进行持久化的一种方式,是把当前内存中的数据集快照写入磁盘,也就是 Snapshot 快照(数据库中所有键值对数据)。恢复时是将快照文件直接读到内存里。
触发机制
- save 同步
- bgsave 异步
- 自动
1.RDB是Redis内存到硬盘的快照,用于持久化
2.save通常会阻塞Redis
3.bgsave不会阻塞Redis,但是会fork新进程
4.save自动配置满足任一就会被执行
5.有些触发机制不容忽视
AOF
三种策略
- always
- everysec
- no
命令 | always | everysec | no |
---|---|---|---|
优点 | 不丢失数据 | 每秒一次fsync丢一秒数据 | 不用管 |
缺点 | IO开销较大,一般的sata盘只有几百TPS | 丢一秒数据 | 不可控 |
RDB与AOF
命令 | RDB | AOF |
---|---|---|
启动优先级 | 低 | 高 |
体积 | 小 | 大 |
恢复速度 | 快 | 慢 |
数据安全性 | 丢数据 | 根据策略决定 |
轻重 | 重 | 轻 |