Redis持久化之RDB操作

Redis持久化之RDB操作

面试和工作,持久化都是重点!

Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦出现服务器进程退出,服务器中的数据库状态也会消失。所以Redis提供了持久化功能!

RDB(Redis DataBase)

Redis持久化之RDB操作

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

rdb保存的文件是 dump.rdb,可以在配置文件中配置

触发机制

  • save的规则满足的条件下
  • 执行flushall
  • 退出redis

恢复rdb文件数据

只需要将rdb文件放在配置文件中的rdb配置目录,启动redis时,会自动检查dump.rdb恢复其中的数据

查看需要存在的位置

Redis持久化之RDB操作

如何恢复rdb文件!

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

2、查看需要存在的位置

127.0.0.1:6379> config get dir
1) "dir"
2) "/usr/local/bin"    # 如果在这个目录下存在 dump.rdb文件,启动就会自动恢复其中的数据
几乎就它自己默认的配置就够用了,但是我们还是需要去学习!

优点:

  • 适合大规模的数据恢复!dump.rdb
  • 对数据的完整性不高

缺点:

  • 需要一定的时间间隔进程操作!如果redis意外宕机了,这个最后一次修改的数据就没有了
  • fork进程的时候,会占用一定的内存空间!
上一篇:django学习之model


下一篇:西农大 Java实习 实验六 输入输出流 习题一