如何使用 ZSCAN 命令和 stackexchange.redis 库获取游标和分页结果?

问题描述 投票:0回答:1

我正在使用

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);
 }

这里我获取匹配条件的所有值,而不是页面大小和下一个光标。

如果有人以前做过,请帮忙

c# redis pagination stackexchange.redis
1个回答
1
投票

这是因为堆栈 stackexchange.redis 库代码。按照可枚举方法进行扫描。所以它的工作方式与 redis 命令行不同。

为了解决这个问题,我们使用了另一个名为 csredis

的 Redis 客户端库
using (var redis = new RedisClient("yourhost"))
{
    string ping = redis.Ping();
     var scanresult=redis.ZScan(key, cursor, pattern, pagesize);

}

如上面的代码所示,我们将把所有数据放入“scanresult”中。

© www.soinside.com 2019 - 2024. All rights reserved.