首页 > 数据库 >学习笔记——redis持久化之RDB、AOF

学习笔记——redis持久化之RDB、AOF

时间:2023-02-10 09:24:54浏览次数:40  
标签:AOF 持久 redis RDB 进程 快照

2023-02-10

一、redis提供了2个不同形式的持久化方式

1、RDB(Redis DataBase)

2、AOF(Append Of File)

二、RDB的定义

RDB是在指定的时间间隔内将内存中的数据集快照写入磁盘,即Snapshot快照,它恢复时是将快照文件直接读到内存里。

三、备份执行的过程

redis会单独创建(fork)一个子进程来进行持久化,会将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。RDB方式要比AOF方式更加的高效。

RDB的缺点最后一次持久化后的数据可能丢失。

四、Fork

1、Fork的作用

它的作用是复制一个与当前进程一样的进程。是作为原进程的子进程。

2、说明

(1)在linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后会被exe系统调用,处于效率考虑,Linux中引入了“写时复制技术”。

(2)一般情况父进程和子进程会共用同一段物理内存,只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。

五、redis中RDB快照触发的时机

1、在redis数据库中执行shutdown会触发RDB快照

2、在redis数据库中执行bgsave会触发RDB快照

3、在redis.conf配置文件中设置例如“save 60 10”会触发RDB快照

六、redis持久化之AOF

1、AOF(Append Only File)的含义

它是以日志的形式记录每个写操作(增量保存),将redis执行过的所有写指令记录下来(读操作不记录),只许9追加文件但不可以改写文件,redis启动之初会读取文件重新构建数据,简而言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作。

2、AOF持久化流程

(1)客户端的请求写命令会被append追加到AOF缓冲区内

(2)AOF缓冲区根据AOF持久化策略将操作sync同步到磁盘的AOF文件中

(3)AOF文件大小超过重写策略或手动重写时,会对AOF文件rewrite重写,压缩AOF文件容量

(4)Redis服务重启时,会重新load加载AOF文件中的写操作,达到数据恢复的目的

3、说明

当AOF和RDB同时开启时,redis听AOF的。因为RDB最后一次缓存数据可能保存不完整。

 

标签:AOF,持久,redis,RDB,进程,快照
From: https://www.cnblogs.com/isDaHua/p/17107689.html

相关文章

  • Redis网络模型,IO多路复用
    IO多路复用无论是阻塞l0还是非阻塞lO,用户应用在一阶段都需要调用recvfrom来获取数据,差别在于无数据时的处理方案:*如果调用recvfrom时,恰好没有数据,阻塞IO会使进程阻塞,非......
  • 【转】Design distributed lock with Redis
     原文: https://medium.com/@bb8s/design-distributed-lock-with-redis-e42f452cb60f----------------------------- DesigndistributedlockwithRedis  ......
  • 获取PHP版本,获取Redis版本,获取MongoDB版本输出已安装扩展
    <?phperror_reporting(E_ALL);ini_set('display_errors',1);echo'<h1style="text-align:center;">欢迎使用DNMP!</h1>';echo'<h2>版本信息-----willem</h2>';echo'<ul>......
  • JWT登陆认证+redis实现自动续期
    登陆controller:packagelogin;importbatch.User;importcom.alibaba.fastjson.JSONObject;importorg.springframework.beans.factory.annotation.Autowired;impo......
  • 记一次线上事故,redis 的keys问题,cpu引起的性能问题
    公司的一个接口用redis存储pv/uv,一直以来,非常好用,某天发现,接口反映非常慢,经过长时间排查。是redis的cpu非常高,到了60%以上。之前设置的70%报警。然后有个广告使用了keys查......
  • 换nacos得清除redis缓存的原因
    我们公司的项目的nacos导入别的项目的nacos得刷新redis缓存的意思是  后端返回给前端的路由以及后端返回给前端的菜单都存在了redis缓存中,不重新清除redis缓存和浏览器......
  • Redis课程笔记
    Redis安装前台启动后台启动1)备份redis.conf2)修改配置:deamonizeyes3)执行redis-server配置文件的目录key键操作select[dbindex]切换库keys*查所有key......
  • RedisTemplate配置读取序列化
    配置项publicRedisTemplate<String,Object>redisTemplate(RedisConnectionFactoryfactory){RedisTemplate<String,Object>template=newRedi......
  • Redis 异步客户端选型及落地实践
    作者:京东科技王晨Redis异步客户端选型及落地实践可视化服务编排系统是能够通过线上可视化拖拽、配置的方式完成对接口的编排,可在线完成服务的调试、测试,实现业务需求的交付......
  • RedisTemplate序列化
    1.序列化配置publicRedisTemplate<String,Object>redisTemplate(RedisConnectionFactoryfactory){RedisTemplate<String,Object>template=ne......