redis持久化包括rdb和aof两种方案

1、rdb持久化方案

  • 持久化过程:按照redis.conf文件配置,如

save 900 1

save 300 10

save 60 10000

,在指定时间间隔内满足数据落盘策略时候,redis会fork一个和原进程一模一样的子进程,该进程先将数据存到一个临时文件里,待持久化结束后,用临时文件替换上次的持久化文件。

  • 触发落盘:满足配置的策略、使用flushdb、使用flushall(效果是所用数据都删除了,落盘后dump.rdb(默认文件名,可配置)文件内容为空)
  • 恢复数据:将dump.rdb复制到安装redis目录,并启动redis的服务。(连上redis后可以使用config get dir 获取redis的安装目录)

劣势

a、在一定间隔时间落盘一次,如果redis意外down,会吊事最后一次的redis中所有修改

b、fork的时候,内存中的数据被克隆了一份,大致2倍的膨胀性需要考虑

优势:适合对数据完整性和一致性要求不高的场景;适合大规模的数据恢复

2、aof持久化方案

  • 持久化过程:按照redis.conf文件配置,如

#appendfsync always

appendfsync everysec

#appendfsync no

,根据同步策略为everysec,则每秒将写操作追加(读操作不会追加)到appendonly.aof文件。

  • 恢复数据:将appendonly.aof文件复制到config get dir对应的目录,并重启redis
  • 重写机制:appendonly.aof的内容是以追加的方式添加的,如果没有特殊机制,该文件会越来越大,为避免这个情况,redis针对aof持久化方式有重写机制

重写过程:当aof文件超过配置的阈值(满足配置文件的配置的策略),redis会fork出一个进程,该进程遍历内存中的数据,每条记录都对应一条set语句,写入临时的aof文件,重写完成后,用临时文件替换上次的持久化文件。

劣势:

a、aof文件远大于rdb文件

b、数据恢复速度慢于rdb

优势:同步策略always->每次修改同步,性能差但完整性好;同步策略everysec->每秒同步,异步操作,如果一秒内down机会丢失数据;no->从不同步

3、疑问

如果两种持久化方式都配置了,那么redis重启时候,从哪里恢复数据呢?

从appendonly.aof文件恢复,因为aof持久化的数据更精确

redis持久化方案比较相关推荐

  1. (转)淘淘商城系列——Redis持久化方案

    http://blog.csdn.net/yerenyuan_pku/article/details/72858975 Redis中设置key的过期时间 Redis中的expire命令用于设置key的 ...

  2. 淘淘商城——Redis持久化方案

    Redis中设置key的过期时间 Redis中的expire命令用于设置key的过期时间,以毫秒计.key过期后将不再可用.Redis中的expire命令基本语法如下: expire key seco ...

  3. redis持久化方案

    说到redis的持久化,可以先说redis的高可用,而保证其高可用的手段有------持久化.复制.哨兵.集群. 持久化:数据的备份,将数据存入硬盘保证数据不会因进程退出而丢失. 复制:是哨兵和集群的 ...

  4. redis数据丢失_有效避免数据丢失!Redis持久化方案选择详解

    为什么需要持久化呢? 通常情况下redis的数据全部存储在内存中,数据库一旦故障发生重启数据会全部丢失,即使是在redis cluster或者redis sentinel模式下主从同步数据的恢复仍然需 ...

  5. Redis持久化 RDB和AOF 比较与选择

    Redis持久化方案 Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘.当下次Redis重启时,利 ...

  6. 【腾讯阿里最全面试题】Redis持久化RDB和AOF 的区别

    跳槽必备: 嵌入式开发转互联网开发面经分享:嵌入式开发成功转战互联网行业 大厂offer的前置条件 学校学历,技术水准分析:大厂必备前置条件,项目经验 腾讯T9(原T3.1)offer,"8 ...

  7. Redis 的持久化方案

    目录 文章目录 目录 RDB 触发 RDB 持久化 RDB 执行流程 RDB 常用配置 AOF AOF 执行流程 命令写入 文件同步 文件重写 重启加载 AOF 常用配置 性能问题与解决方案 Redi ...

  8. redis持久化到mysql的方案_redis进阶: 数据持久化

    redis是内存数据库,即数据库状态都是存储于内存中,因此,当服务器重启或者断开后,数据便会丢失:为了解决数据丢失问题,便需要将数据从内存保持到磁盘中,这就是redis的数据持久化 目前,redis实 ...

  9. 天天用Redis,持久化方案你又知道哪些?

    来源 |码猿技术专栏 责编 | Carol 头图 | CSDN 下载自视觉中国 Redis目前已经成为主流的内存数据库了,但是大部分人仅仅是停留在会用的阶段,你真的了解Redis内部的工作原理吗? 今 ...

最新文章

  1. 汇编语言中将数据、代码、栈放入不同的段
  2. 单片机如何从上电复位执行到main函数?
  3. memcache windows64 位安装
  4. JUnit单元测试用例
  5. python十种日期格式_Python 日期格式相关
  6. 1. 两数之和(Java)
  7. html button跳转页面_Html
  8. PyTorch 1.0 中文官方教程:使用PyTorch编写分布式应用程序
  9. ARM入门笔记(7)
  10. html设计网页板块,网页设计
  11. 计算机与未来的教育阅读答案,作文:计算机与未来的教育
  12. 通过apache对页面进行压缩和页面缓存来提升性能
  13. Spring Cloud Hystrix服务容错 (学习总结)
  14. 《望洞庭湖赠张丞相》 孟浩然
  15. 利用浏览器制作一款包含3D效果的演示文案
  16. 阿里云-视频点播服务API调用
  17. 解密Kerberos流量
  18. ezcast 有线版 升级
  19. 西游记中泾河龙王泄露天机惨遭砍头,而袁守诚为何安然无恙
  20. vue实战(11):开发店铺详情(二)

热门文章

  1. js 字符串删除首尾_JavaScript trim 实现去除字符串首尾指定字符的简单方法
  2. KDD_cup99 pytorch
  3. 网站服务器安全维护,网站服务器安全维护
  4. java word 在线编辑图片_java开发实现word在线编辑及流转
  5. java blob转file_人工智能-Object Detection API 模型转tflite并验证
  6. 归一化频率的物理意义_电磁波的波长、频率和电磁波谱
  7. java c c 的应用_javac 简单应用
  8. 【GAN模型结构】从最简单的全卷积GAN一起开始玩转GAN
  9. 全球及中国膀胱癌药物行业“十四五”专项规划及市场调研分析报告2021-2027年
  10. java正则过滤特殊字符