zoukankan      html  css  js  c++  java
  • Redis学习笔记:持久化

    本文更新于2021-02-02,使用Redis 6.0.8,操作系统为Deepin 15.11。

    目录

    Redis的持久化有两种方式:

    • 快照(snapshotting):将某一时刻的所有数据都写入磁盘中。
    • 只追加文件(append-only file/AOF):将被执行的写命令追加到磁盘中。

    当持久化需要创建子进程时,如果Redis服务器占用的内存过大,并且剩余的空闲内存不多或运行在虚拟机上面,可能也会导致系统长时间停顿,也可能引发系统大量地使用虚拟内存。

    快照

    创建快照文件有以下几种办法:

    • 使用SAVE命令:Redis服务器在快照文件创建完毕之前都不再响应任何其他命令。
    • 使用BGSAVE命令:(Windows不支持)Redis服务器会调用fork创建一个子进程,子进程负责将快照文件写入磁盘,父进程继续处理命令请求。
    • 使用SHUTDOWN命令:Redis服务器将执行一次SAVE命令,之后关闭服务器,不再执行任何其他命令。
    • 使用save配置:当任意一个save配置满足条件时,Redis服务器将执行一次BGSAVE命令。
    • TERM信号:Redis服务器将执行一次SAVE命令,之后关闭服务器,不再执行任何其他命令。
    • 主服务器收到从服务器的SYNC命令:主服务器执行一次BGSAVE命令。

    AOF

    重写AOF文件有以下几种办法:

    • 使用BGREWRITEAOF命令:(Windows不支持)Redis服务器会调用fork创建一个子进程,子进程负责将AOF文件写入磁盘,父进程继续处理命令请求。
    • 使用auto-aof-rewrite-min-sizeauto-aof-rewrite-percentage配置:当AOF文件超过指定的大小且比上一次重写后增长超过指定的百分比时,进行重写。
  • 相关阅读:
    Idea快捷键---根据自己使用情况持续更新
    JVM 性能监控 工具
    redis ---RDB 和 AOF 持久策略对比
    数组、链表等常用数据结构和集合浅解(java)
    关于界面刷新嵌套展示(form标签 target 属性)问题
    对象是否存在的判定方法
    数据库大量插入数据的sql 优化
    Java集合之LinkedList
    Java集合类之ArrayList
    Java并发程序基础
  • 原文地址:https://www.cnblogs.com/garvenc/p/redis_learning_persistence.html
Copyright © 2011-2022 走看看