学习笔记——redis持久化之RDB、AOF
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最后一次缓存数据可能保存不完整。
相关文章
- 从本体论开始说起——运营商关系图谱的构建及应用
- 如何成为一名数据科学家?
- 从未见过的堂兄杀了人,你的DNA是关键证据
- 20个安全可靠的免费数据源,各领域数据任你挑
- 20个安全可靠的免费数据源,各领域数据任你挑
- 阿里云李飞飞:All in Cloud时代,云原生数据库优势明显
- 基于Hadoop生态系统的一高性能数据存储格式CarbonData(性能篇)
- 大数据告诉你:10年漫威,到底有多少角色
- TigerGraph:实时图数据库助力金融风控升级
- Splunk利用Splunk Connected Experiences和Splunk Business Flow 扩大数据访问
- 大数据开发常见的9种数据分析手段
- 以免在景区看人,我爬了5W条全国景点门票数据...
- 【实战解析】基于HBase的大数据存储在京东的应用场景
- 数据科学家告诉你哪些计算机科学书籍是你应该看的
- Kafka作为大数据的核心技术,你了解多少?
- Spring Boot 整合 Redis 实现缓存操作
- 大数据学习必须掌握的五大核心技术有哪些?
- 基于Antlr在Apache Flink中实现监控规则DSL化的探索实践
- 甲骨文再次被Gartner评为分析型数据管理解决方案魔力象限领导者
- 爬取吴亦凡微博102118条转发数据,扒一扒流量的真假