码迷,mamicode.com
首页 > 其他好文 > 详细

SAVE 、BGSAVE和BGREWRITEAOF执行区别

时间:2020-02-08 00:43:17      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:rdb   订阅   write   取数据   数据库   aof   文件   阻塞   取数   

  • rdbSave 会将数据库数据保存到 RDB 文件,并在保存完成之前阻塞调用者。

  • save 命令直接调用 rdbSave ,阻塞 Redis 主进程;bgsave 用子进程调用 rdbSave ,主进程仍可继续处理命令请求。

  • save 执行期间, AOF 写入可以在后台线程进行,  bgrewriteaof 可以在子进程进行,所以这三种操作可以同时进行。

  • 为了避免产生竞争条件, bgsave 执行时, save 命令不能执行。

  • 为了避免性能问题, bgsave 和 bgrewriteaof 不能同时执行。

  • 调用 rdbLoad 函数载入 RDB 文件时,不能进行任何和数据库相关的操作,不过订阅与发布方面的命令可以正常执行,因为它们和数据库不相关联。发布与订阅功能和其他数据库功能是完全隔离的,前者不写入也不读取数据库,所以在服务器载入期间,订阅与发布功能仍然可以正常使用,而不必担心对载入数据的完整性产生影响。

SAVE 、BGSAVE和BGREWRITEAOF执行区别

标签:rdb   订阅   write   取数据   数据库   aof   文件   阻塞   取数   

原文地址:https://www.cnblogs.com/zh-dream/p/12275061.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!