Java-Redis持久化之RDB操作
- 1.为什么redis需要持久化?
- 2.什么是RDB操作?
- 3.请你用自己的话讲下RDB的过程?
- 4.如何恢复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会自动恢复其中的数据