Java-Redis持久化之RDB操作

Java-Redis持久化之RDB操作

  • 1.为什么redis需要持久化?
  • 2.什么是RDB操作?
  • 3.请你用自己的话讲下RDB的过程?
  • 4.如何恢复rdb文件?

1.为什么redis需要持久化?

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

2.什么是RDB操作?

在指定的时候内,把数据以快照的形式写入磁盘,它恢复时将快照文件读取到内存里

Java-Redis持久化之RDB操作_第1张图片

3.请你用自己的话讲下RDB的过程?

redis单独创建一个子进程,把数据写入到这个临时文件中,代快照写入完成之后,临时文件替换原来的文件,变成正式的RDB文件。

该操作的优势:正式文件不会执行IO操作,效率高,并且适合大规模数据的恢复

劣势:如果最后一个快照写入时,redis服务器宕机,那么所有数据都会丢失,fork的过程会占用内存空间。 默认的持久化配置就是RDB,在config配置中,默认的是900秒只要修改了一次key就会生成RDB文件(dump.rdb文件)

Java-Redis持久化之RDB操作_第2张图片

4.如何恢复rdb文件?

1)只需要将rdb文件存放在redis启动目录下就可以
2)查看需要存放位置的目录 (config get dir) 如果在这个目录下面redis查到存在dump.rdb文件,redis会自动恢复其中的数据

你可能感兴趣的:(redis,java,数据库)