关于Redis数据持久化?

      我们为什么要做持久化呢?就算我们对服务器特别信任,但是我们还是避免不了天灾人祸,造成停电,线路故障,硬件故障造成我们的redis服务器存储的数据失效,所以我们要像传统数据库一样对数据进行备份,就数据存储在非易失性的介质中,保证数据的可靠性,持久性。


    redis提供的持久化方案有两种:快照RDB和追加到文件AOF

     快照——简而言之,就是备份,它可以定期对数据进行备份存到硬盘中;追加到文件——就是把你所有写入redis内存的命令进行备份,存到硬盘里,以便在需要的时候重新执行这些命令就可以了。类似于我们的MySQL数据库在进行主从复制的时候,使用的是binlog二进制文件,同样的是执行一遍写命令;

快照持久化通用的配置:

save 60 1000 #在60秒内有1000次写入操作时执行快照的创建

stop-wirtes-on-bgsave-error no #创建快照失败时是否执行写入操作

rdbcompression no   #是否对快照文件进行压缩

dbfilename dump.rdb  #设置快照在硬盘的名称

dir ./   #设置快照的存储位置

追加到文件的通用配置:

     appendonlyno #是否使用AOF配置

       appendfsyncneverysec  #多久执行一次将写入内容同步到硬盘上

     no-appendfsyncn-on-rewrite no #AOF进行压缩的时候是否执行同步操作。

     auto-aof-rewrite-percentage100   #多久执行一次AOF压缩

     auto-aof-rewrite-min-size 64mb#占多大内存的时候执行AOF压缩操作

dir ./  #AOF保存位置


但是,没我们还需要注意的是,创建快照的方式,并不能完全保证我们的数据不丢失,这个大家可以很好的理解,因为快照的创建时定时的,并不是每一次更新操作都会创建一个快照的。系统发生崩溃的时候,用户将丢失最近一次生成快照之后更改的所有数据。因此,快照持久化的方式只适合于数据不经常修改或者丢失部分数据影响不大的场景。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。 本文将先说明...
    不变甄心阅读 710评论 0 4
  • 前言 在上一篇文章中,介绍了Redis内存模型,从这篇文章开始,将依次介绍Redis高可用相关的知识——持久化、复...
    Java架构阅读 2,362评论 3 21
  • 一、Redis高可用概述 在介绍Redis高可用之前,先说明一下在Redis的语境中高可用的含义。 我们知道,在w...
    空语阅读 1,612评论 0 2
  • 企业级redis集群架构的特点 海量数据 高并发 高可用 要达到高可用,持久化是不可减少的,持久化主要是做灾难恢复...
    lucode阅读 2,222评论 0 7
  • 课程内容:产品规划 授课老师:张夏男 时间:2017-11-22 一、课程回顾 了解市场->了解需求->产品设计-...
    喵呜汪汪汪阅读 837评论 0 5