zoukankan      html  css  js  c++  java
  • Redis持久化

    Redis提供了不同的持久化选项:

    • RDB持久化,数据集的时间点快照
    • AOF持久化,服务器收到的每一个写操作
    • 可以同时使用AOF和RDB。在这种情况下,当Redis重启的以后,AOF将用于重新构建原始数据集,因为它保证是最完整的数据。

    RDB的优点:

    • RDB是数据的时间点快照。对于备份而言,RDB文件是完美的。你可能想要归档最近的24小时内每个小时的RDB文件,并且每个归档保存30天。这允许你再灾难发生的时候开业轻松地恢复数据集到不同版本。
    • RDB对于灾难恢复非常好,因为一个紧凑的文件可以传输到远程数据中心
    • RDB最大化了Redis的性能,因为Redis父进程为了持久化需要做的唯一工作就是分配一个子进程,而子进程可以完成所有的工作。
    • 与AOF相比,RDB允许使用大数据集更快地重新启动。

    RDB的不足:

    • 如果你希望当Redis停止工作的时候能把数据丢失减少到最小,那么RDB不是一个好主意。假设你设置每5分钟创建一个RDB快照,那么当Redis非正常退出是,你可能会丢失最近几分钟的数据。
    • 为了持久化到磁盘,RDB需要fork()一个子进程。如果数据很大,fork()可能会很耗时,如果数据非常大,CPU性能不太好,那么可能在几毫秒甚至一秒内停止为客户端提供服务。AOF也许fork(),但是你可以调整写日志的频率,而不需要在持久性上进行权衡(

    (小结:
    RDB的优点:
      1、对于备份很方便的,将来可以快速重启,并且可以恢复到不同的版本
      2、数据可以很方便的传输到数据中心
    RDB的缺点:
      1、如果突然宕机,可能会丢失一部分数据
      2、如果数据很大,fork()操作会耗时很长,严重的情况下可能短时间内无法为客户端提供服务

    AOF的优点:

    • 你可以有不同的fsync策略:完全不fsync,每秒fsync,每个查询都fsync。fsync的默认策略是每秒执行一次,但是你最多只会丢失一秒钟内的写操作。
    • AOF日志是追加的,不用担心断电的问题,即使日志写到一半,使用redis-check-aof工具也可以轻松修复。
    • 当AOF文件变得太多时,Redis可以自动重写AOF
    • AOF以一种易于理解和解析的格式,一个接一个地包含所有操作的日志。你可以很容易的导出一个AOF文件。

    AOF的不足:

    • 对于相同的数据,AOF文件通常比RDB文件更大
    • AOF可能会比RDB更慢,当然这取决于fsync策略。一般而言,fsync设置为每秒性能是最高的。

    (小结:
    AOF的优点:
      1、它保存的是写操作,写多少是多少,而RDB必须要写完整,写到一半的RDB是不能用的
      2、格式易于理解和解析
      3、文件过大时,可以自动重写AOF
    AOF的缺点:
      1、对于相同的数据,AOF文件通常比RDB文件更大。因为AOF记录的是操作,而RDB记录的是数据,是快照

    如果你非常关心你的数据,但是在发生灾难时仍然可以忍受几分钟的数据丢失,那么你可以只使用RDB。

    有许多用户单独使用AOF,但我们不鼓励这样做,因为对于数据备份和快速重启来说,不停的地使用RDB快照是个好主意。

  • 相关阅读:
    互联网流媒体直播点播平台报ioutil.WriteFile错误导致文件只读如何处理?
    互联网直播点播平台go语言搭建重定向和反向代理的区别及使用
    互联网视频直播点播平台EasyDSS如何集成流媒体平台调取登录及上传接口?
    互联网直播点播平台如何联合RTMP推流摄像头构建智慧消防方案?
    RTMP推流网关如何实现摄像头微信幼儿园直播?
    国标GB28181流媒体服务器gorm框架内表明重复添加前缀排查
    国标GB28181流媒体平台EasyGBS新版界面视频流更新时间显示错误问题解决
    视频流媒体播放器EasyPlayer-RTSP-Android 如何随意切换播放视频流?
    国标GB28181流媒体服务器分辨率会导致视频无法播放吗?
    国标GB28181流媒体平台集成后播放多个视频部分视频无法播放问题
  • 原文地址:https://www.cnblogs.com/mrchenzheng/p/12166386.html
Copyright © 2011-2022 走看看