在C#中,我一直使用Booksleeve作为我的redis驱动程序,并且对它非常满意--但我遇到了需要对排序集做一些工作的问题。这些似乎只在Booksleeve中有最低限度的支持-例如,没有像ZUNIONSTORE或ZINTERSTORE这样的命令的实现。
我找到了声称已经实现了这些操作的scobrown's fork of Booksleeve on Github,但我一直在使用NuGet的“官方”包,我不确定是否要切换到另一个fork。
有没有人有使用这个叉子的经验?对于生产代码来说,它是否足够稳定和可靠?
否则,有没有人为需要在排序集上做交集或并集这样的事情想出了其他的变通办法?我一直在做类似以下的事情:
var set = await conn.SortedSets.Range(db, firstSet, 0, -1);
set = set.Intersect(await conn.SortedSets.Range(db, secondSet, 0, -1));
set = set.Intersect(await conn.SortedSets.Range(db, thirdSet, 0, -1));这有一个明显的缺点,那就是需要一次检索一个集合的完整内容,并使用.NET的IEnumerable<>.Intersect()而不是在redis中执行交集。有没有更好的方法?
发布于 2012-10-09 17:08:18
我已经合并了包括SortedSets.UnionAndStore和SortedSets.IntersectAndStore在内的johanalkemad's branch。Build 1.1.0.9已推送到NuGet。
https://stackoverflow.com/questions/12774203
复制相似问题