SAVE BGSAVE和BGREWRITEAOF执行区别
Posted zh-dream
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAVE BGSAVE和BGREWRITEAOF执行区别相关的知识,希望对你有一定的参考价值。
-
rdbSave
会将数据库数据保存到 RDB 文件,并在保存完成之前阻塞调用者。 -
save 命令直接调用
rdbSave
,阻塞 Redis 主进程;bgsave 用子进程调用rdbSave
,主进程仍可继续处理命令请求。 -
save 执行期间, AOF 写入可以在后台线程进行, bgrewriteaof 可以在子进程进行,所以这三种操作可以同时进行。
-
为了避免产生竞争条件, bgsave 执行时, save 命令不能执行。
-
为了避免性能问题, bgsave 和 bgrewriteaof 不能同时执行。
-
调用
rdbLoad
函数载入 RDB 文件时,不能进行任何和数据库相关的操作,不过订阅与发布方面的命令可以正常执行,因为它们和数据库不相关联。发布与订阅功能和其他数据库功能是完全隔离的,前者不写入也不读取数据库,所以在服务器载入期间,订阅与发布功能仍然可以正常使用,而不必担心对载入数据的完整性产生影响。
以上是关于SAVE BGSAVE和BGREWRITEAOF执行区别的主要内容,如果未能解决你的问题,请参考以下文章