Redis Note19:持久化之RDB操作

Redis Note19:持久化之RDB操作

1. RDB

Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是一旦进程退出,Redis 的数据就会丢失。
为了解决这个问题,Redis 提供了 RDB 和 AOF 两种持久化方案,将内存中的数据保存到磁盘中,避免数据丢失。
RDB比AOF方式更加高效。RDB最后一次的持久化的数据可能会低丢失。
 

2. 触发机制

  1. save的规则满足的情况下,会自动触发RDB规则
  1. 执行flushall命令,触发RDB规则
  1. 推出redis,也会产生RDB文件
备份会自动生成dump.rdb
 

3. 如何恢复RDB文件

只需要将RDB文件放在Redis的启动目录下即可,redis启动会自动检查dump.rdb恢复其中的数据
# 查看需要存放位置 127.0.0.1:6379> config get dir 1) "dir" 2) "/var/lib/redis" # 如果这个目录下存在dump.rdb,启动就会自动恢复其中的数据
 

4. 优缺点

4.1 优点:

  1. 适合大规模的数据恢复
  1. 对数据完整性要求不高

4.2 缺点:

  1. 需要一定的时间间隔进程操作,如果redis意外宕机,这个最后一次修改的数据就没有了。
  1. fork进程的时候,会占用一定的内容空间。