Skip to content

Commit 1f41fde

Browse files
authored
Merge pull request xiaolincoder#45 from dongzl/patch-4
Update rdb.md
2 parents 5ae8a34 + ebba2cb commit 1f41fde

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎redis/storage/rdb.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ save 60 10000
8484

8585
就是这样,Redis 使用 bgsave 对当前内存中的所有数据做快照,这个操作是由 bgsave 子进程在后台完成的,执行时不会阻塞主线程,这就使得主线程同时可以修改数据。
8686

87-
细心的同学,肯定发现了,bgsave 快照过程中,如果主线程修改了共享数据,**发生了写时复制后,RDB 快照保存的是原本的内存数据**,而主线程刚修改的数据,是被办法在这一时间写入 RDB 文件的,只能交由下一次的 bgsave 快照。
87+
细心的同学,肯定发现了,bgsave 快照过程中,如果主线程修改了共享数据,**发生了写时复制后,RDB 快照保存的是原本的内存数据**,而主线程刚修改的数据,是没办法在这一时间写入 RDB 文件的,只能交由下一次的 bgsave 快照。
8888

8989
所以 Redis 在使用 bgsave 快照过程中,如果主线程修改了内存数据,不管是否是共享的内存数据,RDB 快照都无法写入主线程刚修改的数据,因为此时主线程(父进程)的内存数据和子进程的内存数据已经分离了,子进程写入到 RDB 文件的内存数据只能是原本的内存数据。
9090

0 commit comments

Comments
 (0)