5分钟理解Redis持久化( 二 )
三、RDB和AOF比较RDB 和 AOF, 我应该用哪一个? 建议使用AOF 。
文章插图
redis启动时如果既有rdb文件又有aof文件则优先选择aof文件恢复数据 , 因为aof一般来说数据更全一点 。
四、Redis 4.0 混合持久化重启 Redis 时 , 我们很少使用 RDB来恢复内存状态 , 因为会丢失大量数据 。 我们通常使用 AOF 日志重放 , 但是重放 AOF 日志性能相对 RDB来说要慢很多 , 这样在 Redis 实例很大的情况下 , 启动需要花费很长的时间 。
Redis 4.0 为了解决这个问题 , 带来了一个新的持久化选项——混合持久化 。 通过如下配置可以开启混合持久化:
# aof-use-rdb-preamble yes
如果开启了混合持久化 , AOF在重写时 , 不再是单纯将内存数据转换为RESP命令写入AOF文件 , 而是将重写这一刻之前的内存做RDB快照处理 , 并且将RDB快照内容和增量的AOF修改内存数据的命令存在一起 , 都写入新的AOF文件 , 新的文件一开始不叫appendonly.aof , 等到重写完新的AOF文件才会进行改名 , 原子的覆盖原有的AOF文件 , 完成新旧两个AOF文件的替换 。
于是在 Redis 重启的时候 , 可以先加载 RDB 的内容 , 然后再重放增量 AOF 日志就可以完全替代之前的AOF 全量文件重放 , 因此重启效率大幅得到提升 。
文章插图
你懂得越多 , 能懂你的就越少 。
- 设计模式6之代理模式
- 使用 redis-py 储存地理位置数据
- 《深入理解Java虚拟机》:锁优化
- 飞智对手游的理解或许领先行业一个时代,全新八爪鱼2代上手
- HFL Redis_11_zset类型底层存储数据结构
- Redis的线程模型和事务
- 理解JavaScript中的浅拷贝与深拷贝
- 怎么理解分布式、高并发、多线程
- 特斯拉新电池有多强?外媒称15分钟就能充电至80% 最大充电功率275kW
- 5分钟告诉你要不要买 iPhone12?