2017-10-20 174 views
-1

是否有可能 - 在redis集群环境中执行ZADD时 - 所有添加的密钥最终都不会同时向所有人提供?redis ZADD <keys>在Redis集群环境中是否一致?

我们使用(scala)redis客户端通过ZADD添加一批密钥。 然后在X毫秒超时后请求密钥。 看起来1个批处理键有时(很少)缺失,并且仅在几毫秒后才可用。 我认为,在Redis一致性模型中,要么所有密钥都足够复制,因此可用,否则不显示。因此我不明白如何可能丢失一个单一的密钥。

集群环境中的正常Redis/ZADD行为?

或者这绝对不正常,这只能通过与Redis(redis客户端/我们自己)无关的源代码问题来解释?

回答

-1

Redis复制是异步的,所以如果它是一个大批量ZADD,它确实可能需要几毫秒才能进行复制。如果要确保副本从服务器接收到事务,则应在调用ZADD后使用WAIT命令。

+0

我的问题不是,“数据需要复制并随时可用”。但是,“将所有添加了单个ZADD命令的密钥同时提供给群集中的每个人”?或者是否有可能某个键在另一个键之前(对某个用户)可见?或者,也许这是我检索数据量(ZRANGE),这是不是集群安全/一致的方式? – user3779543

+0

您的所有密钥将作为一项交易提供。你的问题很糟糕,很难理解 –