如何强制 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/