Redis的持久化有两种方式:

  • RDB方式(默认支持):在指定的时间间隔内将内存中的数据集快照写入磁盘
    • 优势

      • 整个Redis数据库将只包含一个文件,对于文件备份来说是完美的,系统出现灾难性的故障时容易恢复
      • 性能最大化,开启服务器时,只需要做的是分叉出一些进程,再由子进程来完成持久化操作,极大的避免服务器进程执行IO流操作。数据集很大时,比AOF启动更高效
    • 劣势配置
      • 在保持数据的高可用性时(最大限度的避免数据丢失),RDB不是好的选择。系统一定在定时持久化之间出现宕机时,还没有来得及往硬盘上写时,数据就已经丢失
      • RDB通过分叉方式的子进程来协助完成数据持久化操作,因此在数据集很大时,可能导致整个服务器停止几百ms甚至1s
      • 在redis.conf中的
        save 900 1 每900s 至少1个key发生变化
        save 300 10 每300s 至少10个key发生变化
        save 60 10000 每60s至少10000个key发生变化
        满足以上,会写入一次
      • 在redis.conf的:RDB的默认文件名 dbfilename dump.rdb
        保存路径:dir ./
  • AOF方式:将以日志的形式记录服务器的每一个操作,在服务器启动时会读取该文件来重新构建数据库,保证启动后数据库中的数据是完整的

    • 优势

      • 数据更高的安全性

        • Redis提供三种同步策略:每秒、每修改(同步持久化,效率最低最安全)、不同步
      • 对日志的写入操作采用append追加方式,在写入时即使出现宕机,也不会破坏日志文件中已经存在的内容(若一次操作只写入了一半数据就系统崩溃,在Redis下次启动之前使用redis -check -aof来解决数据一致性问题)
      • 如果日志过大,Redis会自动启动重写机制,以append方式不断将修改的数据写入到老的磁盘当中,同时还会创建一个新的文件,来记录此期间产生的哪些修改命令被执行。在进行重写切换时,可以更好的保证数据的安全性
      • AOF包含一个格式清晰易于理解的日志文件用于记录所有的修改操作(可以用它来完成数据的重建)
    • 劣势
      • 对于相同数据量的数据集,AOF的文件比RDB的更大
      • 根据同步策略的不同,AOF的运行效率低于RDB
    • 配置
      • redis.conf的

        • appendonly no变为yes
          会产生appendfilename "appendonly.aof"
        • #appendfsync always每修改一次同步
          appendsync everysec每秒同步
          #appendfsync no不同步
    • 若误删数据,通过修改appendonlu.aof文件中的命令,再重新启动来恢复数据

Redis的持久化的更多相关文章

  1. Redis总结(四)Redis 的持久化

    前面已经总结了Redis 的安装和使用今天讲下Redis 的持久化. redis跟memcached类似,都是内存数据库,不过redis支持数据持久化,也就是说redis可以将内存中的数据同步到磁盘来 ...

  2. Redis的持久化的两种方式drbd以及aof日志方式

    redis的持久化配置: 主要包括两种方式:1.快照  2 日志 来看一下redis的rdb的配置选项和它的工作原理: save 900 1 // 表示的是900s内,有1条写入,则产生快照 save ...

  3. redis启用持久化

    redis的持久化有rdb和aof两种. rdb是记录一段时间内的操作,一盘的配置是一段时间内操作超过多少次就持久化. aof可以实现每次操作都持久化. 这里我们使用aof. 配置方式,打开redis ...

  4. redis + 主从 + 持久化 + 分片 + 集群 + spring集成

    Redis是一个基于内存的数据库,其不仅读写速度快,每秒可以执行大约110000的写操作,81000的读取操作,而且其支持存储字符串,哈希结构,链表,集合丰富的数据类型.所以得到很多开发者的青睐.加之 ...

  5. Redis笔记(八)Redis的持久化

    Redis相比Memcached的很大一个优势是支持数据的持久化, 通常持久化的场景一个是做数据库使用,另一个是Redis在做缓存服务器时,防止缓存失效. Redis的持久化主要有快照Snapshot ...

  6. 深入剖析 redis AOF 持久化策略

    本篇主要讲的是 AOF 持久化,了解 AOF 的数据组织方式和运作机制.redis 主要在 aof.c 中实现 AOF 的操作. 数据结构 rio redis AOF 持久化同样借助了 struct ...

  7. 深入剖析 redis RDB 持久化策略

    简介 redis 持久化 RDB.AOF redis 提供两种持久化方式:RDB 和 AOF.redis 允许两者结合,也允许两者同时关闭. RDB 可以定时备份内存中的数据集.服务器启动的时候,可以 ...

  8. redis 数据持久化

    1.快照(snapshots) 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb.你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据 ...

  9. redis的持久化之AOF

    AOF Redis 分别提供了 RDB 和 AOF 两种持久化机制: RDB 将数据库的快照(snapshot)以二进制的方式保存到磁盘中. AOF 则以协议文本的方式,将所有对数据库进行过写入的命令 ...

  10. redis的持久化方式RDB和AOF的区别

    1.前言 最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据.由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能, ...

随机推荐

  1. viewport的故事(一)

    部分翻译 自原文 https://www.quirksmode.org/mobile/viewports.html   概念:设备像素和CSS像素   设备像素可以通过 screen.width/he ...

  2. Jquery常用的方法总结

    1.关于页面元素的引用通过jquery的$()引用元素包括通过id.class.元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom ...

  3. 洛谷P3835 【模板】可持久化平衡树

    题目背景 本题为题目 普通平衡树 的可持久化加强版. 数据已经经过强化 感谢@Kelin 提供的一组hack数据 题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作( ...

  4. luarocks 包管理工具

    安装方式:wget http://luarocks.org/releases/luarocks-2.2.2.tar.gz tar zxvf luarocks-2.2.2.tar.gz cd luaro ...

  5. 免费为网站加上HTTPS

    前言 最近有好几位同学直接微信赞助说快点更新文章.这个要和大家说声抱歉,的确很久没有写文章了.我们也不找借口,我会尽力保证多写文章.今天我们的主题来讲解 如何给自己的网站 加上HTTPS HTTPS是 ...

  6. 关于parseInt()里的一些小坑

    parseInt(string,radix)方法是将输入字符串转化为数值,两个输入参数中string为要转化的字符串,radix可省略,是浏览器以几进制来解读输入的string. 举几个例子就能够对该 ...

  7. linux /proc/sys/vm/中各个文件含义

    1)      /proc/sys/vm/block_dump该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作. 缺省设置:0,禁用Block Debu ...

  8. GMT\UTC YYYY-MM-DDTHH:mm:ss.sssZ、YYYY-MM-DDTHH:mm:ss.sss+8:00意义及与北京时间转换

    UTC: Universal Time Coordinated 协调世界时,又称世界标准时间. GMT: Greenwich Mean Time 格林尼治平均时. 格林尼治标准时间的正午是指当太阳横穿 ...

  9. 解决webpack打包报错: Cannot find module '@webassemblyjs/wasm-parser'

    出现这个错误时,百度和谷歌中都搜索不出个所以然出来,后来看了一下webpack官网,说建议安装node最新版本: 前提条件 在开始之前,请确保安装了 Node.js 的最新版本.使用 Node.js ...

  10. coreseek/sphinx中的匹配模式

    所谓匹配模式就是用户怎样依据keyword在索引库中查找相关的记录. SPH_MATCH_ALL, 匹配全部查询分词(默认模式); 如"手机配件".不匹配 "我有一部手机 ...