我计划在我的存储应用程序中使用Redis。缓存。我在线阅读了大部分文档,但仍然有关于复制的问题。
我的用例:
仪表板应用程序:从redis(Master redis实例)写入和读取
运行redis客户端的另一个应用程序的几个实例,只执行读取。
客户每隔X分钟就会从主人那里复制一次。
问题: - 我知道当客户端进行复制时,它们会被阻止进行操作。但是,读取操作是否也被阻止了?
提前感谢您的帮助!
答案 0 :(得分:1)
这并不完全是says in the docs,实际上是这样说的:
从属端的复制正在阻塞:当从属设备执行第一次同步时,它无法回复查询。
和
如果你设置了一个奴隶,连接时它会发送一个SYNC命令。如果它是第一次连接或者它是重新连接也没关系。
因此,在正常操作期间,它根本不应该阻塞对象。但在初始同步期间,读取被阻止。
您可以查看它当前是否正在与info命令同步; master_sync_in_progress:0
复制首先发送一切(块) 然后它发送增量更新(非阻塞,因为它只是“正好”修改数据集的执行命令,按正确顺序)
你只能通过连接到不同的redis实例来克服它,也许主要作为后备?