美文网首页
Redis的两种持久化方式对比

Redis的两种持久化方式对比

作者: 长安猎人 | 来源:发表于2019-06-20 00:12 被阅读0次

    1.RDB(redis database)

    RDB是Redis默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入次盘中,即在指定目录生成一个dump.rdb文件。Redis重启会通过加载dump.rdb文件恢复数据。

    核心配置

    #redis.conf
    # save ""
    save 900 1
    save 300 10
    save 60 10000
    #解说:save <指定时间间隔> <执行指定次数更新操作>,如:先检查60秒内是否有10000个更改,有则save,再检查300秒是否有10个更改,有则save,最后检查900秒是否有1个更改,有则save..
    dbfilename dump.rdb //本地数据库名
    dir ./  //本地数据库存放目录
    rdbcompression yes //开启数据压缩
    

    rdb优点:
    1 适合大规模的数据恢复。
    2 如果业务对数据完整性和一致性要求不高,RDB是很好的选择。
    缺点:
    1 数据的完整性和一致性不高,因为RDB可能在最后一次备份时宕机了。
    2 备份时占用内存

    2.AOF(append only file)

    默认不开启,采用日志的形式记录每个写操作,并追加到文件中,redis重启会根据日志文件内容将写指令从前到后执行一次完成数据恢复。

    核心配置

    #redis.conf
    appendonly yes //开启aof
    appendfilename "appendonly.aof"
    appendfsync everysec //always,everysec,no
    #always 每次数据变化立即写入磁盘
    #everysec 每秒写入磁盘
    #no 不同步
    auto-aof-rewrite-percentage 100%  //与上次aof文件大小对比,超过上次100%时候,触发bgrewrite
    auto-aof-rewrite-min-size 512M //指定触发rewrite的aof文件大小
    #若aof文件小于该值,即使当前文件的增量比例达到auto-aof-rewrite-percentage的配置值,也不会触发自动rewrite
    

    Redis 针对 AOF文件大的问题,提供重写的瘦身机制。

    相关文章

      网友评论

          本文标题:Redis的两种持久化方式对比

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