听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write

1、管道引发的知识点 听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write
文章图片

2、子进程与父进程的关系 听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write
文章图片

3、linux fork()函数的作用 1、速度快
2、占用空间小---->写时复制技术
听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write
文章图片

【听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write】 当子进程使用父进程已经创建好的数据时发生copy on write即先将相同的地址空间数据拷贝到另外一个地址中,然后再对此变量赋值,这样子进程可以看到父进程的数据,但是在应用程序中修改数据时确无法改变父进程的数据
听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write
文章图片

man fork函数
听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write
文章图片
4、实例redis如何将数据分时点写到磁盘上的 ① 8点中redis要存储的数据为只有a=3,但是每隔30分钟写一次数据,在8:30分的时候由于redis提供非阻塞的服务,数据为a=3,b=4发生了改变
听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write
文章图片

②或者问题更加极端,正好在8; 30的时候 a =8b=6了,出现了时点混乱的问题,那么redis是如何解决的
听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write
文章图片

③ redis 持久化RDB就是使用了linux 的fork 函数的copy_on_wirte技术,即使用fork创建子进程,将8:00的数据a =3 写入磁盘(RDB)的
听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write
文章图片

5、RDB单机持久化 支持的方式 听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write
文章图片

听马士兵讲redis笔记三 redis 持久化RDB fork copy_on_write
文章图片

时点性:可以通过配置文件配置多长时间备份一次数据到磁盘
save:可以通过人工实时操作,想什么时候保存就什么时候保存
bgsave 规则:图中的规则关系为
条件1:如果60秒内发生10000次数据变化则直接保存 RDB
条件2:如果条件1没有满足,那么如果300秒内发生10次数据变化那么直接保存到RDB
条件3:如果条件2没有满足,那么如果900秒内有1次数据变化那么直接保存数据到RDB

感谢

    推荐阅读