redis持久化即将数据从内存写入磁盘,Redis提供了两种持久化的方式:RDB和AOF。
1.RDB
RDB持久化:Redis可以将内存中的数据定期快照保存到磁盘上的一个二进制文件中。RDB持久化是一种比较紧凑的文件格式,适用于备份和灾难恢复。通过配置Redis的持久化策略,可以设置Redis定期保存快照的频率。
在指定的时间间隔内,执行数据集的时间点快照。实现类似照片记录效果的方式,就是把某一时刻的数据和状态以文件的形式写到磁盘上,也就是快照。
1.1 自动触发
设置5秒检查一次,如果有2次修改就会保存
修改dump文件保存路径
修改dump文件名称
修改成功
两次修改后会自动保存
清空数据库后也能恢复
注意:
1.2 自动触发
一定记得用BGSAVE命令,SAVE会阻塞当前的操作,备份结束后才会继续执行,BGSAVE则不会
1.3 优缺点
禁用RDB:1.第一种是一次性的,本次生效 2.修改配置文件,永久禁用
2.AOF
AOF保存的是appendonlf.aof文件
2.1 三种写回策略
默认everysec方式
开启AOF
配置后.rdb文件在/myredis appendonly.aof文件在/myredis/appendonlydir
2.2 优缺点
2.3 重写机制
由于AOF持久化是Redis不断将写命令记录到 AOF 文件中,随着Redis不断的进行,AOF 的文件会越来越大,文件越大,占用服务器内存越大以及 AOF 恢复要求时间越长。为了解决这个问题,Redis新增了重写机制,当AOF文件的大小超过所设定的峰值时,Redis就会自动启动AOF文件的内容压缩,只保留可以恢复数据的最小指令集或者可以手动使用命令 bgrewriteaof 来重写。
最小出发内存改为1k
将RDB AOF 混合使用关闭
触发重写
3.混合使用
开启混合模式
4.纯缓存模式
#部分图片来自尚硅谷