Redis持久化之RDB

2020-03-06  本文已影响0人  叫我胖虎大人

Redis持久化之RDB

RDB (快照)持久化:保存某个时间点的全量数据快照。

在配置文件中进行配置

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes  # 当备份进程出错的时候就停止主进程写入数据

rdbcompression yes    # RDB备份文件是否开启压缩,建议为no,redis本身就是CPU密集型进程

以save 900 1为例,意思是在900s内,出现1一条数据变动就进行一次RDB备份。


Redis的持久化方式

➢ SAVE :阻塞Redis的服务器进程,直到RDB文件被创建完毕
➢ BGSAVE : Fork出一-个子进程来创建RDB文件,不阻塞服务器进程

自动化触发RDB持久化的方式

BGSAVE原理

BGSAVE原理

系统调用fork() :创建进程,实现了Copy-on-Write

Copy-on-Write
如果有多个调用者同时要求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正复制一份专用副本给该调用者,而其他调用者所见到的最初的资源仍然保持不变


使用RDB持久化的缺点

上一篇下一篇

猜你喜欢

热点阅读