redis数据库--RDB和ROF

转载至:https://www.cnblogs.com/wangfajun/p/5787077.html

Redis之RDB与AOF 笔记

AOF定义:以日志的形式记录每个操作,将Redis执行过的所有指令全部记录下来(读操作不记录),只许追加文件但不可以修改文件,Redis启动时会读取AOF配置文件重构数据

换句话说,就是Redis重启就会根据日志内容从头到尾执行一次来完成数据的恢复工作。

Tip:

  一.RDB与AOF同时开启  默认先加载AOF的配置文件

  二.相同数据集,AOF文件要远大于RDB文件,恢复速度慢于RDB

  三.AOF运行效率慢于RDB,但是同步策略效率好,不同步效率和RDB相同

1.RDB持久化(以快照的方式) 策略(默认):

  save 900 1       (15分钟变更一次)
  save 300 10     (5分钟变更10次)
  save 60 10000  (1分钟变更1万次)
2.RDB默认配置文件名称:

  dbfilename dump.rdb

3.表示是否开启AOF持久化:

  appendonly yes(默认no,关闭)

4.AOF持久化配置文件的名称:

  appendfilename "appendonly.aof"

5.AOF持久化策略(默认每秒):

  appendfsync always (同步持久化,每次发生数据变更会被立即记录到磁盘,性能差但数据完整性比较好)

  appendfsync everysec (异步操作,每秒记录,如果一秒钟内宕机,有数据丢失)

  appendfsync no  (将缓存回写的策略交给系统,linux 默认是30秒将缓冲区的数据回写硬盘的)

6.AOF配置文件损坏修复方法:

  进入redis安装路径 执行 redis-check-aof --fix AOF配置文件名称

7.AOF的Rewrite(重写) :

  定义:AOF采用文件追加的方式持久化数据,所以文件会越来越大,为了避免这种情况发生,增加了重写机制

  当AOF文件的大小超过了配置所设置的阙值时,Redis就会启动AOF文件压缩,只保留可以恢复数据的最小指令集,可以使用命令bgrewriteaof

  原理:当AOF增长过大时,会fork出一条新的进程将文件重写(也是先写临时文件最后rename),遍历新进程的内存数据,每条记录有一条set语句。

       重写AOF文件并没有操作旧的AOF文件,而是将整个内存中的数据内容用命令的方式重写了一个新的aof文件(有点类似快照)

触发机制:Redis会记录上次重写时的AOF文件大小,默认配置时当AOF文件大小是上次rewrite后大小的一倍且文件大于64M时触发

     auto-aof-rewrite-percentage 100  (一倍)
       auto-aof-rewrite-min-size 64mb
8.RDB与AOF的选择:

  做备份:当数据量大,且对恢复速度有要求,并且数据的一致性要求不高的话,可以只使用RDB

  只做缓存:不用开启任何的持久化方式

  两者都开启的建议:RDB数据不实时,同时使用两者时服务器只会找AOF文件,可不可以只使用AOF?建议不要,因为RDB更适合备份数据库(AOF在不断变化,不好备份),快速重启,而且不会又AOF可能潜在的BUG,留作万一的手段。

9、常见配置

RDB持久化配置

Redis会将数据集的快照dump到dump.rdb文件中。此外,我们也可以通过配置文件来修改Redis服务器dump快照的频率,在打开6379.conf文件之后,我们搜索save,可以看到下面的配置信息:

save 900 1              #在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。

save 300 10            #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。

save 60 10000        #在60秒(1分钟)之后,如果至少有10000个key发生变化,则dump内存快照。

AOF持久化配置

在Redis的配置文件中存在三种同步方式,它们分别是:

appendfsync always     #每次有数据修改发生时都会写入AOF文件。

appendfsync everysec  #每秒钟同步一次,该策略为AOF的缺省策略。

appendfsync no          #从不同步。高效但是数据不会被持久化。

         

10.优化:

  

posted on 2018-06-29 14:36 进击的菜鸟啊 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/zpbk1991/p/9243321.html

redis数据库--RDB和ROF相关推荐

  1. 记一次redis数据库RDB内存事故排查处理

    事故表现:redis 状态正常,但客户端不能使用,定位日志结论,redis内存申请不通过,导致中断用户操作 解决办法 1.解锁相关配置(不能解决根本问题,根本原因来源于开发 使用姿势不对) 两种解决办 ...

  2. 什么是RDB和ROF? 一文了解Redis持久化

    参考文档: https://redis.io/topics/persistence 概述 本文提供Redis持久化技术说明, 建议所有Redis用户阅读. 如果您想更深入了解Redis持久性原理机制和 ...

  3. redis数据库错误:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persis

    转载自:解决redis连接错误:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to.. ...

  4. Redis持久化 - RDB和AOF

    一.持久化的作用 1. 什么是持久化 持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘). 持久化Redis所有数据保持在内存中,对数据的更新将异步地保 ...

  5. Redis的rdb格式学习

    rdb格式背景 在redis中,rdb格式是经过压缩之后,保存redis的数据的一种格式,该格式主要就是通过一定的压缩算法,将redis服务端中的内存数据落盘到文件中,本文主要就是分析一下该协议的具体 ...

  6. Linux的企业-Redis数据库、缓存和哨兵Sentinal、Redis高可用

    一.Redis简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件.     它支持多种类型的数据结构,如        字符串(strings) ...

  7. 超强、超详细Redis数据库入门教程

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使用r ...

  8. mysql 迭代更新_MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)

    MySQL.MongoDB.Redis 数据库之间的区别与使用 MySQL.MongoDB.Redis 数据库之间的区别与使用(本章迭代更新) update:2019年2月20日 15:21:19(本 ...

  9. 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令

     Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表 ...

最新文章

  1. canvas绘制闹钟-方法1
  2. AI模型加速进入万亿级时代,中国AI算力独占全球三成
  3. 人与动物之间有没有一条不可逾越的鸿沟?——从基础存在论到生命哲学
  4. 在Hyperopt框架下使用XGboost与交叉验证
  5. java biginteger转int_如何在不使用java.math.BigInteger的情况下使用Java处理非常大的数字...
  6. yabailv 运放_运放入门
  7. Hive:hive is not allowed to impersonate anonymous
  8. oxm java_使用JAXB2.0实现OXM
  9. [转载] Spring的数据库操作---- Spring框架对JDBC的整合---- spring集成jdbc概述
  10. 大数据分析需要掌握哪些技术
  11. 【C语言天天练(十九)】restrict关键词
  12. Linux静态库与动态库详解
  13. ansys 如何截取高清的网格图
  14. 计算机怎么审单流程,电子审单
  15. 图扑 TopLink 边缘组态
  16. springboot 相同类名但不同包,报错non-compatible bean definition of same name and class
  17. Beaver's Calculator(蓝桥杯 算法训练)sort排序
  18. JSP实现登录注册并链接数据库页面
  19. 史上最强的前端面试题!
  20. 杂文 -- 面试重心

热门文章

  1. 获取地图区域边界经纬度(地图json数据)
  2. 实践与分享:可激活Windows 7旗舰版、专业版、家庭高级版、家庭普通版的“Retail Key”...
  3. vue el-table表格实现从上到下(有序)选择
  4. GPU随想——OpenGL函数加载流程
  5. 混合开发(Hybrid App)有哪些优劣点?
  6. OkHttp 官方文档
  7. 从一看书就犯困到神经网络机制的猜想和闲谈
  8. Qt-QMake官方使用手册(翻译)
  9. ROI_PAC脚本及程序用法网址
  10. 【matplotlib】可视化解决方案——如何正确使用matplotlib颜色系统