redis的持久化机制
redis 持久化机制有两种:RDB 和 AOF。
RDB
RDB 机制是对 redis 中的数据执行周期性的持久化。每个几分钟、几小时、几天生成 redis 内存中的数据的一份完整的快照。
AOF
每条写入命令作为日志,写入 aof 文件中。现代操作系统中,写入文件不是直接写磁盘,会先写到 os cache,然后到一定时间再从 os cache 到磁盘文件。每隔 1 秒调用一次操作系统的 fsync 操作,强制将 os cache 中的数据,刷入磁盘文件中。
为了保证性能,会先写入 os cache 中,然后定期强制执行 fsync 操作将数据刷入磁盘。
原理:
- 每台单机 redis 的数据量收到内存限制,所以 aof 不会无线增长;
- 当数据超过内存限制的时候,会自动使用 LRU 算法将数据淘汰掉;
- AOF 存放的是每条写入的命令,所以会不断的膨胀,当达到一定的时候,会做 rewrite 操作;
- rewrite 操作:基于当时 redis 的内存中的数据,重新构造一个更小的 aof 文件,然后删除旧的 aof 文件。
总结:aof 被不断的追加,内存中的数据有最大限制,会被自动淘汰,当 aof 中的数据大于内存中数据时,就会执行 rewrite 操作,生成新的 aof 文件。
AOF 机制对每一条写入命令作为日志,以 append-only 的模式写入一个日志文件中,在 redis 重启的时候,可以通过回放 AOF 日志中的写入指令来重新构建整个数据集。
小结
通过 RDB 或者 AOF ,都可以将 redis 内存中的数据给持久化到磁盘上去,然后可以将这些数据备份到别的地方,比如阿里云、云服务。
如果 redis 挂了,服务器上的内存和磁盘上的数据都丢了,可以从云服务上拷贝回来,放到指定的目录下,然后重新启动 redis,redis 就会自动根据持久化数据文件中的数据,去恢复内存中的数据,继续对外提供服务。
如果同时使用 RDB 和 AOF 两种持久化机制,那么在 redis 重启的时候,会使用 AOF 来重新构建数据,因为 AOF 中的数据更加完整。
© 著作权归作者所有
打赏
点赞 (0)
收藏 (0)
分享
微博
微信
打印
举报
上一篇:
测试博客
下一篇:
深入理解 spring-kafka 监听器创建与运行以及消息处理流程
kaisesai
粉丝 1
博文 98
码字总数 338414
作品 0
朝阳
程序员
关注
私信
提问
加载中
请先登录后再评论。
删除一条评论
评论删除后,数据将无法恢复
取消
确定
相关文章
最新文章
用vertx实现高吞吐量的站点计数器
工具:vertx,redis,mongodb,log4j 源代码地址:https://github.com/jianglibo/visitrank 先看架构图: 如果你不熟悉vertx,请先google一下。我这里将vertx当作一个容器,上面所有的圆圈要...
jianglibo
2014/04/03
4.4K
3
Nutch学习笔记4-Nutch 1.7 的 索引篇 ElasticSearch
上一篇讲解了爬取和分析的流程,很重要的收获就是: 解析过程中,会根据页面的ContentType获得一系列的注册解析器, 依次调用每个解析器,当其中一个解析成功后就返回,否则继续执行下一个解...
强子哥哥
2014/06/26
712
0
基于 ThinkPHP 的内容管理系统--歪酷CMS
歪酷网站管理系统(歪酷CMS)是一款基于THINKPHP框架开发的PHP+MYSQL网站建站程序,本程序实现了文章和栏目的批量动态管理,支持栏目无限分类,实现多管理员管理,程序辅助功能也基本实现了常见的文...
鲁大在线
2013/02/19
7.1K
2
硬实时操作系统--Raw OS
Raw-OS 起飞于2012年,Raw-OS志在制作中国人自己的最优秀硬实时操作系统。 Raw-OS 操作系统特性 内核最大关中断时间无限接近0us, s3c2440系统最大关中断时间实测0.8us。 支持idle任务级别的事...
jorya_txj
2013/03/19
6.4K
1
PHP框架--XiunoPHP
XiunoPHP 是一款面向高负载应用的 PHP 开发框架,PHPer 通过它可以快速的简单的开发出高负载项目。 XiunoPHP 前身名为 Xiuno Framework,更名后版本号从 v1.0 开始计算。已经经过了多年的实际...
匿名
2013/03/20
2.5K
0
没有更多内容
加载失败,请刷新页面
加载更多
下一页
Hacker News 简讯 2020-08-15
最后更新时间: 2020-08-15 05:01 Welders set off Beirut blast while securing explosives - (maritime-executive.com) 焊工在固定炸药的同时引爆了贝鲁特爆炸 得分:284 | 评论:261 Factor......
FalconChen
今天
24
0
OSChina 周六乱弹 —— 老椅小猫秋乡梦 梦里石台堆小鱼
Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @小小编辑 :《MOM》- 蜡笔小心 《MOM》- 蜡笔小心 手机党少年们想听歌,请使劲儿戳(这里) @狄工 :腾讯又在裁员了,35岁以上清退,抖音看到...
小小编辑
今天
83
1
构建高性能队列,你不得不知道的底层知识!
前言 本文收录于专辑:http://dwz.win/HjK,点击解锁更多数据结构与算法的知识。 你好,我是彤哥。 上一节,我们一起学习了如何将递归改写为非递归,其中,用到的数据结构主要是栈。 栈和队列...
彤哥读源码
今天
17
0
Anaconda下安装keras和tensorflow
Anaconda下安装keras和tensorflow 一、下载并安装Anaconda: Anaconda下载 安装步骤: 如果是多用户操作系统选择All Users,单用户选择Just Me 选择合适的安装路径 然后勾选这个,自动配置环境...
Atlantis-Brook
今天
15
0
滴滴ElasticSearch千万级TPS写入性能翻倍技术剖析
桔妹导读:滴滴ElasticSearch平台承接了公司内部所有使用ElasticSearch的业务,包括核心搜索、RDS从库、日志检索、安全数据分析、指标数据分析等等。平台规模达到了3000+节点,5PB 的数据存储...
滴滴技术
今天
13
0
没有更多内容
加载失败,请刷新页面
加载更多
下一页
OSCHINA 社区
关于我们
联系我们
合作伙伴
Open API
在线工具
码云 Gitee.com
企业研发管理
CopyCat-代码克隆检测
实用在线工具
微信公众号
OSCHINA APP
聚合全网技术文章,根据你的阅读喜好进行个性推荐
下载 APP
©OSCHINA(OSChina.NET)
工信部
开源软件推进联盟
指定官方社区
深圳市奥思网络科技有限公司版权所有
粤ICP备12009483号
顶部
以上是 redis的持久化机制 的全部内容, 来源链接: utcz.com/z/535185.html