本文主要是介绍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
![](/upload/202208/13/202208130225290324.png)
2)设置默认持久化文件默认路径-dir
![](/images/baidian.png)
3)设置当硬盘满了,Redis就不再进行写入操作
-stop-writes-on-bgsave-error
![](/images/baidian.png)
4)设置持久化的快照是否进行压缩,Redis会采用LZF算法-rdbcompression
![](/images/baidian.png)
5)设置存储快照后,可以让Redis使用CRC64算法进行数据校验-rdbchecksum
![](/images/baidian.png)
6)在多少秒内有多少key发生变化,就进行持久化操作-save
save 秒 写操作次数
![](/images/baidian.png)
![](/images/baidian.png)
这篇关于Redis-3.0.503 RDB持久化操作-13的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!