美文网首页
redis RDB持久化

redis RDB持久化

作者: 我要尝鲜 | 来源:发表于2018-07-22 20:04 被阅读0次

    RDB文件的创建与载入

    有两个命令可以用于生成RDB文件,一个是SAVE,另一个是BGSAVE。
    SAVE命令会阻塞redis服务器进程,直到RDB文件创建完毕为止。
    BGSAVE会派生出一个子进程,然后由子进程负责创建RDB文件,服务器进程继续处理命令请求。

    自动间隔性保存

    用户可以在指定配置文件或者传入启动参数的方式设置save选项,如果没有主动设置,则默认为:
    save 900 1 -- 900秒内对数据库有一次改动。
    save 300 10 -- 300秒内对数据库有10次改动。
    save 60 10000 -- 60秒内对数据有有10000次改动。

    dirty计数器和lastsave属性

    dirty计数器记录距离上一次成功执行SAVE命令或者BGSAVE命令之后,服务器对数据库状态进行了多次修改(写入、删除、更新等)
    lastsave属性是一个UNIX时间戳,记录了服务器上一次成功执行SAVE命令或者BGSAVE命令的时间。

    总结:

    RDB文件用于保存和还原redis服务器所有数据库中的所有键值对数据。
    SAVE命令由服务器进程直接执行保存操作,所以该命令会阻塞服务器。
    BGSAVE由子进程执行保存操作,所以该命令不会阻塞服务器。
    服务器状态中会保存所有用save选项设置的保存条件,当任意一个保存条件被满足时,服务器会自动执行BGSAVE命令。
    RDB文件是一个经过压缩的二进制文件,由多个部分组成。
    对于不同类型的键值对,RDB会使用不同的方式来保存它们。

    相关文章

      网友评论

          本文标题:redis RDB持久化

          本文链接:https://www.haomeiwen.com/subject/vqrrmftx.html