Java-Redis持久化之RDB操作
1.为什么redis需要持久化?
Redis是内存数据库,如果不将内存数据库保存到磁盘,那么服务器进程退出,服务器中的数据状态也会消失,所以Redis提供了持久化功能!
2.什么是RDB操作?
在指定的时候内,把数据以快照的形式写入磁盘,它恢复时将快照文件读取到内存里

3.请你用自己的话讲下RDB的过程?
redis单独创建一个子进程,把数据写入到这个临时文件中,代快照写入完成之后,临时文件替换原来的文件,变成正式的RDB文件。
该操作的优势:正式文件不会执行IO操作,效率高,并且适合大规模数据的恢复
劣势:如果最后一个快照写入时,redis服务器宕机,那么所有数据都会丢失,fork的过程会占用内存空间。 默认的持久化配置就是RDB,在config配置中,默认的是900秒只要修改了一次key就会生成RDB文件(dump.rdb文件)

4.如何恢复rdb文件?
1)只需要将rdb文件存放在redis启动目录下就可以
2)查看需要存放位置的目录 (config get dir) 如果在这个目录下面redis查到存在dump.rdb文件,redis会自动恢复其中的数据
Redis的RDB持久化是通过创建数据快照到磁盘来确保数据安全。当服务器进程生成一个子进程,由子进程完成数据到临时文件的写入,然后替换原有文件。这种方式在数据恢复时高效,但若在快照过程中服务器宕机,可能会丢失部分数据。要恢复RDB文件,只需将其放在Redis启动目录下,Redis会自动加载恢复数据。

987

被折叠的 条评论
为什么被折叠?



