Redis(持久化)

文章目录

1.RDB

1.介绍
2.RDB执行流程
3.持久化配置
1.Redis持久化的文件是dbfilename指定的文件
2.配置基本介绍
1.进入redis配置文件
sh 复制代码
vim /etc/redis.conf
2.搜索dbfilename,此时的dump.rdb就是redis持久化的文件
3.搜索dir,每次持久化文件,都会在启动redis的当前目录下生成,并且每次找的也是当前目录的dump.rdb文件进行恢复
3.持久化配置
1.修改dir的配置为/root/则每次持久化的dump.rdb都会在/root/下,恢复时无论在哪里启动,都会读取这个文件进行恢复
2.重启redis,使其生效
3.进入root目录下,可以看到dump.rdb生成了
4.默认快照配置
  • 如果没有打开注释,默认不会自动备份,只有在shutdown的时候才会备份
5.手动进行持久化操作
1.常用命令
2.一般在命令行使用bgsave进行异步快照操作
3.lastsave返回上一次保存的unix时间戳
6.flushall
1.介绍
7.其余rdb配置
1.save 如果要禁用持久化就设置为空串
2.stop-writes-on-bgsave-error 如果磁盘满了,就不再写入,推荐yes
3.rdbcompression 是否将快照进行压缩存储,默认yes
4.是否开启数据校验,默认yes
5.动态停止rdb(临时生效,重启就失效)
8.rdb配置实例
1.需求:如果Redis的key在30s内有五个key变化,就自动进行rdb备份
2. 编辑配置文件,找到save设置,进行配置
3.重启redis,使配置生效
4.去/root/目录下查看目前的持久化文件的大小
5.重新登陆redis命令行,在30s内设置至少五次key
6.在30s后查看持久化文件,变成104了
4.RDB备份和恢复
1.备份使用cp指令即可
2.恢复是在启动的时候读取配置文件中的dir的目录下的dump.rdb进行恢复
5.RDB的优势和劣势
1.优势
2.劣势

2.AOF

1.基本介绍
1.AOF是什么?
2.AOF持久化的流程
2.开启AOF配置
1.开启方式
2.开启AOF
1.编辑配置文件找到appendonly,设置成yes
2.重启redis,使配置生效,在/root/目录下生成了aof文件
3.可以发现aof文件是空的,但是当RDB和AOF同时开启,默认读取的是aof文件,进行恢复,所以登录命令行,查看目前的库应该是空的
3.AOF机制实例
1.进入redis客户端,进行一些操作
2.查看aof文件,可以看到记录了set和del指令,并没有记录get指令
4.AOF恢复
在开启了AOF的条件下,启动Redis时,会自动读取配置文件中配置的dir目录下的aof文件进行恢复
5.AOF异常修复(数据可能丢失)
1.首先关闭redis,退出客户端
2.编辑aof文件,在最后添加一些字母
3.重启redis,发现启动失败了
4.执行在/usr/local/bin下的 redis-check-aof --fix 文件名 进行修复,由于/usr/local/bin是环境变量,就可以直接使用
sh 复制代码
redis-check-aof --fix /root/appendonly.aof 
5.此时再重新启动redis,可以看到启动成功
6.连接客户端,查看数据,由于之前是在文件后面加的内容,所以这次数据没有丢失
6.AOF同步频率(从缓冲区同步到aof文件的频率,用默认的即可)
7.Rewrite压缩
1.基本介绍
2.主动触发
3.修改配置,自动触发
4.关于配置自动触发的解析
  • 第一个配置是自动触发的百分比,就是每次触发压缩,redis都会记录当前的文件大小,如果配置了100,就表示当文件大小是原来文件大小的(100 + 100) %也就是百分之二百时,自动触发压缩
  • 第二个配置是自动触发的最小内存,配置的64mb,指的就是,文件最小是64mb才能够自动触发压缩机制
8.AOF的优势和劣势
1.优势
2.劣势
3.如何选择?官方推荐都打开,不冲突,只是恢复的时候会使用aof文件进行恢复(数据一致性更好)
相关推荐
一只淡水鱼664 小时前
【redis】使用redis作为缓存时所注意事项
redis·缓存
笑远10 小时前
MySQL 主主复制与 Redis 环境安装部署
redis·mysql·adb
小斌的Debug日记12 小时前
框架基本知识总结 Day16
redis·spring
morris13113 小时前
【redis】布隆过滤器的Java实现
java·redis·布隆过滤器
椰椰椰耶13 小时前
【redis】全局命令set、get、keys
数据库·redis·缓存
月落星还在14 小时前
Redis 内存淘汰策略深度解析
数据库·redis·缓存
五行星辰14 小时前
Java链接redis
java·开发语言·redis
左灯右行的爱情14 小时前
Redis- 切片集群
数据库·redis·缓存
周小闯14 小时前
Easyliev在线视频分享平台项目总结——SpringBoot、Mybatis、Redis、ElasticSearch、FFmpeg
spring boot·redis·mybatis
羽轩GM16 小时前
【JAVA架构师成长之路】【Redis】第18集:Redis实现分布式高并发加减计数器
redis·java教程