如何使用带 stackexchange.redis 库的 ZSCAN 命令获取光标和分页的结果?
how to get result with cursor and paging using ZSCAN command with stackexchange.redis library?
我正在使用 stackexchange.redis
。
因为 zscan
给出了所有匹配的值
我想得到准确给定的页面大小结果和剩余值的下一个光标。
I have debugged its source code library in that i found that they are
scanning entire source value until cursor became zero and provides all
matched values.
so could we can get result as per cursor same as redis command 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"。
我正在使用 stackexchange.redis
。
因为 zscan
给出了所有匹配的值
我想得到准确给定的页面大小结果和剩余值的下一个光标。
I have debugged its source code library in that i found that they are scanning entire source value until cursor became zero and provides all matched values.
so could we can get result as per cursor same as redis command 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"。