hooyantsing's Blog

28_持久化之RDB操作

字数统计: 508阅读时长: 1 min
2020/08/18

28 持久化之RDB操作

Redis最新超详细版教程通俗易懂

RDB(Redis DataBase)

什么是RDB

759737f051043f442b2c8bde82f581b3.png

在指定的时间间隔内将内存的数据集快照写入磁盘,也就是行话讲的Snapshot快照,他恢复时是将快照文件直接读到内存里。

Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行 IO 操作的。这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加高效。RDB的缺点是最后一次持久化后的数据可能丢失。我们默认的就是RDB,一般情况下不需要修改这个配置。

rdb保存的文件是dump.rdb 都是在我们的配置文件中快照中进行配置的。

生产环境中,会将 dump.rdb 备份。

a63134232f309eed90d0774aa6ee1526.png

触发机制

  1. save 的规则(配置文件)满足情况下,会产生rdb文件。

  2. 执行 save 或者 flushall 命令,会产生rdb文件。

  3. 正常退出 redis ,也会产生rdb文件。

    如何通过 rdb文件 恢复 redis 里面的数据

  4. 只需将 rdb文件 放在我们的 redis 启动目录就可以,redis启动的时候会自动检查 dump.rdb 恢复其中的数据。

  5. 查看需要存在的位置,可以从 redis 的配置文件里找到。

    1
    2
    3
    127.0.0.1:6379> config get dir
    1) "dir"
    2) "/user/local/bin"

键值对:dir是key,路径是value

RDB的优缺点

优点:

  1. 适合大规模的数据恢复。
    缺点:

  2. 需要一定的时间间隔进程操作。如果redis意外宕机了,这个最后一次修改数据就没有了。

  3. fork进程的时候,会占用一定的内容空间。

CATALOG
  1. 1. 28 持久化之RDB操作
  2. 2. RDB(Redis DataBase)
    1. 2.0.0.1. RDB的优缺点