数据库
首页 > 数据库> > Redis-3.0.503 RDB持久化操作-13

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 秒 写操作次数

标签:fork,13,持久,Redis,3.0,RDB,快照,数据
来源: https://www.cnblogs.com/ggzs/p/16576250.html