【发布时间】:2013-11-28 09:33:33
【问题描述】:
我正在编写一个与 REDIS 交互的 C# 应用程序(通过 C# REDIS 客户端接口,例如 ServiceStack / BookSleeve)。
我正在寻找有关如何最有效地将两个并发的键和值列表多重保存到协调集中的建议。一些键将被复制,此时我想简单地将相应的值添加到集合中。 MSET 命令允许添加多个键/值对,但我的目标是包含这些值的集合。
到目前为止,我的研究表明我需要为每个不同的键和值分组流水线化多个 SADD 命令,但我很好奇是否有更有效的方法。
【问题讨论】:
-
它不能比每组流水线化一个 SADD 命令更有效。如果您的集合中有太多项目,您可能必须将命令拆分为更小的部分。
-
@DidierSpezia 我也这么认为。我想这是一个相当具体的要求,不太适合本机命令。
-
SADD从 2.4 开始是可变的 - 每组只需要一个SADD;你问的是这个吗? -
@MarcGravell 我正在寻找一种基于 2 个字符串列表(键和值)以原子方式添加多个集合的方法。我已经决定将列表映射到
Dictionary<string, List<string>>(键是集合名称)并流水线化 SADD 命令。
标签: c# redis servicestack booksleeve