多键操作必须涉及单个插槽Redis

ckx4rj1h  于 7个月前  发布在  Redis
关注(0)|答案(1)|浏览(65)

我们在redis集群模式下读取多个键的问题。
我们使用堆栈交换redis .我已经通过相同的git问题Multi-key
由于有4个选项建议
1.如果数据是强相关的,则使用“哈希标签”(这将相关数据保留在单个插槽中)。
1.使用单独的StringGet。
1.我们实现了一个新的API,它可以进行分散/聚集(需要等待)。
1.您的代码可以手动按插槽分组以执行多个varadic get。
我们有任何更新点3,或任何其他方式来执行多键操作在集群模式.

jjhzyzn0

jjhzyzn01#

一旦你有了你的密钥列表(例如,通过在所有服务器上查询),你就可以通过它们的哈希槽对密钥进行分组,并将每个组作为批量命令发送,如下所示:

var keyList = keys.GroupBy(k => _redisConnection.GetHashSlot(k));

foreach (var keyGroup in keyList) {
    // send each group to a bulk command

字符串

相关问题