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

      为了避免内存中数据丢失,redis提供了对持久化的支持,redis提供了RDB和AOF两种不同的数据持久化方式。

    • RDB:快照存储持久化方式,将Redis某一时刻的内存数据保存到硬盘的文件中,默认文件名为dump.rdb。当redis服务器启动时会重新加载dump.rdb文件的数据到内存中。

        过程为:

      1. 生成临时rdb文件并写入数据 
      2. 完成数据写入并用临时文件代替正式的rdb文件
      3. 删除原来的rdb文件。

        方式有:

      • save命令:同步进行持久化,服务器会阻塞所有请求,直至数据同步完成。
      • bgsave命令:异步进行持久化,redis服务器主进程forks一个子进程来数据同步。
      • 服务器配置自动触发,在配置文件redis.conf里面配置 save 900 1 ;900秒内至少达到一条写命令。如果设置触发时间太短会容易频繁写入rdb文件影响服务器进程,时间太长又会造成数据丢失 

        优缺点:

      • 文件恢复数据比较快
      • rdb文件紧凑,适合数据备份
      • 对redis服务器性能影响较小
      • 服务器宕机可能会造成某个时段的数据丢失(数据没来得及同步)
      • save命令会造成服务器阻塞
      • bgsave命令forks子进程时如果数据量过大也会发生阻塞,也会耗费内存。  
    • AOF(Append-only file):记录客户端对服务器的每一次写操作,并将写操作保存到aof文件末尾,redis服务器重启时会加载aof文件的命令恢复数据。

       写入策略(通过appendsync选项指定):

      • always:每一个写操作都保存到aof文件里,该策略很安全,但每个写都有IO操作,所以比较慢。
      • everysec:默认写入策略,每秒写一次aof文件,最多丢失1s数据。
      • no:redis服务器不写入aof,操作系统来处理什么时候写入aof,更快但是不安全。

       优缺点:

      • 对服务器性能影响较小,速度更快,消耗内存较少。
      • 日志文件太大
      • 回复数据的书读比RDB慢。
    • AOF与RDB的对比
           

          

    以上参考  https://mp.weixin.qq.com/s/ij67XYJgYK2kYrAlSDz3sw

  • 相关阅读:
    黑域,黑阈 Permission denied
    手机闪存速度测试工具,AndroBench
    找进程的窗口Handle
    nginx http 正向代理
    windows命令行netstat 统计连接数
    FLIR ONE PRO热成像仪
    python2.0_s12_day14_jQuery详解
    python2.0_s12_day13_javascript&Dom&jQuery
    ssh&scp指定密钥
    apache+php生产环境错误记录
  • 原文地址:https://www.cnblogs.com/smallzhen/p/14624676.html
Copyright © 2011-2022 走看看