添加Redis Booksleeve中不支持的多个成员 - 分数值

时间:2014-03-19 16:22:47

标签: c# redis booksleeve

我正在尝试使用Redis Booksleeve存储多个成员得分值,但Booksleeve api似乎不支持此功能。

conn.SortedSets.Add 重载仅支持单对值得分。

我是否会遗漏某些内容,或者这是故意或者您忘记实施的内容?

目前我在这样的事务循环中更新我的排序集:

foreach (ForumMessage message in messages)
{
    trans.SortedSets.Add(db, redisKey, message.id.ToString(), message.id);
}
trans.Execute();

以上是否与从性能角度来看具有多个成员得分值的ZADD相同?

1 个答案:

答案 0 :(得分:1)

它不会完全效率高:

  • 它会多次发送命令和密钥
  • 很有可能重复清空输出缓冲区,这可能导致数据包碎片

但是......它仍然很快。

围绕后者存在一些黑客行为,包括:

  • 配料
  • 暂停/恢复同花(非常小心使用try / finally如果您这样做!)

但是,您可能想知道StackExchange.Redis有一个多键/值SortedSetAdd方法,可以完全按照您的意愿执行。