我有一个应用程序,它从一个redis数据库(db1)获取所有数据,该数据库每小时由一个外部进程更新一次。在此更新过程中,redis中的所有数据都将被替换。
为了避免主应用程序在更新时出现任何错误,我考虑让更新程序进程写入辅助redis数据库(db2),完成后,将这个数据库与应用程序正在使用的数据库进行切换。
我没有找到重命名或复制整个redis数据库的方法,所以我能想到的唯一方法是从db1中删除所有键,而不是使用MOVE在db1中保存来自db2的所有新键。
有没有更好的方法来实现这一点?

最佳答案

为什么不简单地让db2 slaveof db1,用信息轮询它并检查
主同步进程:0?
当您将要执行对db1的更新时,在db2上就没有人了(中断复制)。在客户机访问db2上的静态(旧)数据时对db1执行更新;然后在db1上完成更新时重新获取。

关于redis - 将整个Redis数据库重命名或复制到另一个数据库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25944058/

10-10 00:40
查看更多