Redis-3.0.503 RDB持久化操作-13

2022/8/13 2:25:35

本文主要是介绍Redis-3.0.503 RDB持久化操作-13,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.Redis的两种持久化方式

(1)RDB(Redis DataBase)


什么是RDB?

RDB持久化是将当前进程中的数据生成快照保存到硬盘(因此也称作快照持久化),保存的文件后缀是rdb;当Redis重新启动时,可以读取快照文件恢复数据。


优势:

* 适合大规模的数据恢复

* 对数据完整性和一致性要求不高的更适合使用

* 节省磁盘空间

* 恢复速度快


劣势:

* Fork的时候,内存中的数据被克隆了一份,大致2倍的膨胀性需要考虑

* 虽然Redis在fork的时候使用了写时拷贝技术,但是如果数据量庞大还是比较消耗性能

* 在备份周期一定间隔时间做一次备份,如果Redis意外down掉了,就会失去最后一次快照后的所有修改


持久化是如何执行的?

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


RDB文件配置

1)设置默认持久化文件名-dbfilename

2)设置默认持久化文件默认路径-dir

3)设置当硬盘满了,Redis就不再进行写入操作 -stop-writes-on-bgsave-error

4)设置持久化的快照是否进行压缩,Redis会采用LZF算法-rdbcompression

5)设置存储快照后,可以让Redis使用CRC64算法进行数据校验-rdbchecksum

6)在多少秒内有多少key发生变化,就进行持久化操作-save

save 秒 写操作次数



这篇关于Redis-3.0.503 RDB持久化操作-13的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程