我正在使用
stackexchange.redis
。
其中 zscan
给出了所有匹配的值我调试了它的源代码库,发现它们是 扫描整个源值,直到光标变为零并提供所有 匹配的值。
这样我们可以像redis命令Zscan一样根据光标得到结果吗?
这是我的代码快照
using (ConnectionMultiplexer conn = ConnectionMultiplexer.Connect(conf))
{
var dbs = conn.GetDatabase();
int currentpage = 0,pagesize=20;
var scanresult = dbs.SortedSetScan("key", "an*", pagesize, 0, 0, CommandFlags.None);
}
这里我获取匹配条件的所有值,而不是页面大小和下一个光标。
如果有人以前做过,请帮忙
这是因为堆栈 stackexchange.redis 库代码。按照可枚举方法进行扫描。所以它的工作方式与 redis 命令行不同。
为了解决这个问题,我们使用了另一个名为 csredis
的 Redis 客户端库using (var redis = new RedisClient("yourhost"))
{
string ping = redis.Ping();
var scanresult=redis.ZScan(key, cursor, pattern, pagesize);
}
如上面的代码所示,我们将把所有数据放入“scanresult”中。