ruby - Redis 阻塞保存

标签 ruby redis

如何强制 Redis 进行阻塞保存?我正在使用 Ruby Redis gem,但我相信这个问题并不特定于该库。似乎 SAVE 和 BGSAVE 命令似乎在后台做一些事情,导致后续调用出现“-ERR background save in progress”错误。

希望这将是一个无聊的同步调用,它会阻塞所有其他 Redis 命令,直到完成“dump.rdb”的保存。并且希望这不需要实际关闭服务器,与“/etc/init.d/redis-server”混在一起。大概我应该使用 LASTSAVE 命令进行轮询?

最佳答案

如果您调用 SAVE 但收到有关正在进行后台保存的错误,这意味着还有一个 BGSAVE 正在进行中,因为其中一个为真:

1) 有人叫 BGSAVE 2)Redis配置为定时保存(默认)。

所以你的保存失败了,因为已经有一个保存在进行中。您可以检查是否有后台正在进行,当它完成时,检查 INFO 输出。

关于ruby - Redis 阻塞保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4760652/

相关文章:

lua - 如何提高Redis服务器的CPU使用率?

javascript - 向应用程序用户提供分析数据的最佳方式是什么?

ruby-on-rails - 如何为 ActiveRecord 模型对象找到关联的 Resque 作业?

ruby-on-rails - 命名空间外的 Rake 任务

ruby-on-rails - 基于 Rails 的 S3 文件管理器

ruby-on-rails - `initialize':postgres 方案不接受注册表部分:postgres:@(或错误的主机名?)(URI::InvalidURIError)与 Docker

Ruby:线程和套接字

ruby-on-rails - Rails rspec 单独通过示例但整个文件失败

java - JSP,能不能像Ruby/Rails/Erb中的yield, layout, content_for一样工作

linux - Docker Redis 使用 -v 以持久存储启动时给出错误 (chown : changing ownership of '.' : Permission denied)