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文件进行恢复(数据一致性更好)
相关推荐
IT大白鼠2 天前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz2 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
lbb 小魔仙2 天前
OpenClaw + cpolar 实战:远程 NAS、分享小游戏、RDP,再配置公网 AI 入口
数据库·人工智能·redis·oracle·prometheus
夕除2 天前
redis--018
redis
两锭子2 天前
Redis基础
redis
烟沙九洲2 天前
Redis 缓存穿透、缓存击穿、缓存雪崩
数据库·redis
字节探索2 天前
Redis 只会当缓存用?这 10 大实战场景,让你的系统快到飞起
redis·后端
于樱花森上飞舞2 天前
【Redis】哨兵详解
java·开发语言·数据库·redis
Rain的Java大神之路3 天前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
Wang's Blog3 天前
Java 接入Redis: 通用命令与键管理
java·服务器·redis