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

    Redis支持RDBAOF两种持久化机制,持久化功能有效地避免因进程退出,服务器故障等造成的数据丢失问题,当下次Redis重启时利用之前持久化的文件即可实现数据恢复

    RDB持久化

    可以在指定时间间隔内生成数据集的时间点快照(point-in-time snapshot),新快照会覆盖旧快照,占用空间小

    优点:速度快,适合用于做备份,主从复制也是基于RDB持久化功能实现的

    缺点:由于基于时间点持久化,如果在某一个时间点持久化后,机器故障了,再恢复的时候持久化后的数据一样会丢失

    持久化配置

    Redis配置文件

    # 目录
    dir "/data/6379"
    
    # RDB文件
    dbfilename "dump.rdb"
    

    手动持久化

    127.0.0.1:6379> save
    OK
    127.0.0.1:6379> bgsave
    Background saving started
    
    • SAVE:前台运行,会阻塞Redis正常写入,直到持久化完成
    • BGSAVE:后台运行,开启子线程,异步的持久化方式,不会阻塞Redis正常写入

    自动持久化

    修改Redis配置文件(需要重启)

    # 60 秒累计100次修改,就进行持久化
    save 60 100
    # 300 秒累计1000次修改,就进行持久化
    save 300 1000
    
    • 60秒是Redis能设置的RDB持久化的最小时间时间

    AOF

    记录服务器执行的所以写操作命令,并再服务启动时,通过重新执行这些命令还会员数据集

    AOF 文件中的命令全部以Redis协议的格式来保存,新命令会被追加到文件尾

    优点:可以最大程度保证数据不丢失

    缺点:日志记录量级比较大,持久化时间长

    持久化配置

    # 开启AOF模式
    appendonly yes
    
    # 每次修改操作都进行持久化
    appendfsync always
    
    # 每秒持久化一次
    # appendfsyns everysec
    
    # 不即时同步,由操作系统控制何时刷写到磁盘上
    # appendfsync no
    
    # AOF文件
    appendfilename "appendonly.aof"
    
    

    需要重启Redis

  • 相关阅读:
    探索式测试实践之路
    管理是什么?真正的管理者是,“管”+“理”!
    JavaScript中的函数式编程
    node js的终端中 console.log 嵌套对象会被折叠的问题
    apt-get install的默认安装路径
    nodejs 事件循环 试题思考
    仅20行的JavaScript模板引擎
    js 驼峰命名转烤串
    git reset 进阶
    linux 拷贝文本到剪切板
  • 原文地址:https://www.cnblogs.com/xiasir/p/12965480.html
Copyright © 2011-2022 走看看