• Redis两种持久化的方式
  • 为何需要持久化
  • Redis中的数据类型都是支持Push/Pop、Add/Remove以及取交集、并集、差集……这些操作的,而这些操作都是原子性的。为了保证这样的操作的效率,Redis使数据保存在了内存之中
  • 正是因为数据放在了内存当中,所以一旦断电、重启系统或者关机的时候,就会出现数据消息的情况。为了解决这个问题,所以产生了Redis持久化的研究
  • 持久化
  • 将数据保存到可永久保存的存储设备中
  • 两种持久化的方式
  • 快照持久化(RDB持久化)
  • 一次性把Redis中的全部数据保存一份存储在银盘当中,如果数据很多,则此过程很慢,不适合频繁的做此操作,因为每次操作都是全部的数据
  • 适合灾难性的修复
  • 精细持久化(AOF持久化)
  • 将用户操作Redis时修改的每一个key的语句保存起来,还原数据库的时候把这些语句执行一遍
  • 恢复时,执行AOF文件比较慢,而且文件较大
  • 综合这两种持久化方式,我们可以采取如下策略,举例说明:
    8:00am 快照持久化,保存一次8:00am的数据版本 期间使用AOF持久化9:00am 快照持久化,9:00版本 期间使用AOF持久化9:55am 断电!10:00am 恢复数据,将9:00的版本加上9:00之后的AOF文件恢复数据