Redis持久化机制 RDB和AOF的区别
2024-09-02 04:34:57
一、简单介绍
Redis中的持久化机制是一种当数据库发生宕机、断电、软件崩溃等,数据库中的数据无法再使用或者被破坏的情况下,如何恢复数据的方法。
Redis中共有两种持久化机制
RDB(Redis DataBase)
AOF(Append Only File)
二、什么是RDB
- RDB在指定的时间间隔内将内存中的全部数据集快照写入磁盘(如果原先存在RDB文件的话,新的RDB文件会覆盖掉就得RDB文件),也就是Snapshot快照,它恢复时是将快照文件直接读到内存里,便可直接恢复数据。
三、什么是AOF
- AOF持久化方式记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据,AOF命令以redis协议追加保存每次写的操作到文件末尾
- Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大。(假如AOF文件中记录了set name a , set name b set name c, 那么对于最终结果而言这三条指令和set name c的效果是相同的,从结果上来看,我们只知道 name 是 c,因此只需要记录将这三条写命令重写为一条set name c 就可以了 )
四、AOF和RDB对比
一般来说, 如果想达到足以媲美 PostgreSQL 的数据安全性, 应该同时使用两种持久化功能。
如果你非常关心你的数据, 但仍然可以承受数分钟以内的数据丢失, 那么你可以只使用 RDB 持久化。
有很多用户都只使用 AOF 持久化, 但并不推荐这种方式: 因为定时生成 RDB 快照(snapshot)非常便于进行数据库备份, 并且 RDB 恢复数据集的速度也要比 AOF 恢复的速度要快, 除此之外, 使用 RDB 还可以避免之前提到的 AOF 程序的 bug 。
最新文章
- 【转】去掉Sqlite3 数据库中的前后回车换行符(newline)
- XUtils===XUtils3框架的基本使用方法
- 发几个Flex的学习资源
- NSString去掉火车和空格
- HLG 2163 方格取数 (最大网络流)
- hdu 1395 2^x mod n = 1 暴力过~~最好学下欧拉定理~~~
- C语言的指针使用
- jQuery选择器的分类之过滤选择器
- 如何增加Ubuntu交换空间swap
- Kaldi如何统计data数据集
- 个人博客作业_week14
- Selenium2+python自动化43-判断title(title_is)
- 【Spider】使用命令行启动时,能正常抓取,但是在pycharm直接运行不能保存数据
- Git小技巧:VIM中如何填写注释信息
- socket编程---UDP
- Java包装类、拆箱和装箱详解
- php无刷新上传图片
- IsPostBack详解
- [BZOJ1455]罗马游戏 左偏树+并查集
- php 前台post多维数组
热门文章
- Java帝国的成立
- Malaysia Trip Memory ('-ωก)
- Hive配置Tez引擎踩坑
- .NET 微服务
- CTGU_训练实录
- Codeforces Round #667 (Div. 3)
- GPLT L2-006 树的遍历(二叉树)
- 【POJ 2411】【Mondriaans Dream】 状压dp+dfs枚举状态
- poj 2566 Bound Found 尺取法
- 2019-2020 ACM-ICPC Brazil Subregional Programming Contest Problem M Maratona Brasileira de Popcorn (二分)