redis的持久化机制
2021-07-06 本文已影响0人
金煜博
1.什么是redis持久化机制
redis持久化机制就是将内存中的数据存入到磁盘当中进行保存,保证在数据丢失时能快速找回
2.redis持久化机制的方式
rdb描述
rdb方式是以快照的方式将数据持久化到磁盘以二进制文件dump.rdb进行保存
rdb示例图:
图片.pngrdb方式配置
打开redis.conf文件搜索save "" 关键字,找到系统默认配置
图片.png
save 900 1 #在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照
save 300 10 #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照
save 60 10000 #在60秒(1分钟)之后,如果至少有10000个key发生变化,则dump内存快照
aof描述
aof是将命令通过日志的方式进行存储,aof存储分为三种同步方式
appendfsync always #每次有数据修改发生时都会写入AOF文件,能够保证数据不丢失,但是效率非常低
appendfsync everysec #每秒钟同步一次,可能会丢失1s内的数据,但是效率非常高
appendfsync no #从不同步,高效但是数据不会被持久化
aof的配置方式
打开redis.conf文件搜索appendfsync关键字,找到系统默认配置
图片.png
aof配置 always 与 everysec的区别
always只要执行命令就进行持久化,无缓冲区效率低。everysec可以配置时间段进行持久化,有缓冲区效率高。
always示例图
图片.pngeverysec示例图
图片.png总结
rdb持久化是全局同步方式(按照周期性进行数据的持久化),rdb持久化数据可能在某时间点上宕机后存在数据丢失,rdb持久化数据效率低,二进制方式恢复数据速度快
aof持久化是全局增量同步方式(对行为进行操作持久化数据),aof持久化数据也会存在某时间节点丢失数据,aof持久化数据效率高,以命令方式恢复数据速度慢