rdb持久化
rdb比aof效率更加高效,但是最后一次持久化的数据有可能会丢失
触发机制:
1,配置文件中save满足条件了会触发规则
2,执行flushall命令也会触发规则
3,把redis关机时也会触发
如何恢复rdb文件
只需要把rdb文件放到redis启动目录下即可,redis在开机时会自动操作恢复数据
那么如何查看需要存放rdb文件的位置呢
127.0.0.1:6379> config get dir
1) "dir"
2) "/usr/local/bin" #如果在这个目录下存在dump.rdb文件即可
优点:
1,适合大规模数据恢复
2,对数据完成性要求不高的情况下
缺点:
1,需要一点时间的时间间隔进程操作,最后一次持久化的数据有可能会丢失
2,fork进程的时候,会占用一点的内存空间
aof持久化
aof就是将我们所有命令(写的操作命令,读操作不记录)都记录下来,恢复时就是把文件内命令全部执行一遍
appendonly no 把这个改成yes则开启了aof缓存
如果appendonly.aof文件有错误,则我们启动不了redis服务,需要通过修复工具修复过后才可以启动redis服务
redis-check-aof --fix appendonly.aof
aof优点:
1,每一次修改都同步,文件的完成性更加好
------------------------------------------------------------------------------------------
两个都开启时,会优先加载aof的持久化文件