Redis的持久化

什么是redis持久化
  RDB(redis database) AOF(append only file)
  redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦断电退出,服务器中的数据也会消失,所以redis提供了持久化功能
RDB
触发的rdb操作都会保存在dump.rdb文件中
usr/local/bin 文件夹下
打开redis.config文件
表示 900s 有一次对key的增删改,就会触发rdb操作
表示 200s 有10次对key的增删改,就会触发rdb操作
表示 60s 有10000次对key的增删改,就会触发rdb操作
 
我们现在自定义一个
只要60秒内 有5次对key的操作,就会触发rdb操作
将rdb文件删除
添加5个key
127.0.0.1:6379> set name xiaofei
OK
127.0.0.1:6379> set age 23
OK
127.0.0.1:6379> set address xuanhua 
OK
127.0.0.1:6379> set gender male
OK
127.0.0.1:6379> set hobby Java
OK
触发rdb机制
打开dump.rdb文件,里面保存了我们刚刚写了的数据
什么时候触发rdb机制:
  1. redis.config配置文件中的save规则满足的情况下
  2. 执行flushall命令
  3. 退出redis
备份就是产生一个dump.rdb文件
优点:
  1. 适合大规模的数据恢复
  2. 对数据的完整性要求不高
缺点:
  1. 需要一定的时间间隔进行操作,如果redis意外宕机了,最后一次修改的数据就没了
  2. fork进程的时候,会占用一定的内存空间
AOF
将我们的命令都记录下来,相当于浏览器的history,恢复时,吧这个文件的命令全部执行一遍,所以如果数据很多时,会耗费时间。以日志的形式记录每一个动作,redis重启的话,会根据日志文件的内容将指令从前到后执行一遍
aof保存的文件时appendonly.aof文件
默认是不开启的 默认是no 改成yes表示开启
一旦编辑appendonly.aof 这个文件,那个连接redis会出现错误
那么你可以使用这个命令来为我们修复这个文件
redis-check-aof --fix appendonly.aof 

修复成功

修复之后发现连接成功
 
 

posted @ 2020-12-17 17:23  James_Harden  阅读(39)  评论(0编辑  收藏  举报