110,535
社区成员
发帖
与我相关
我的任务
分享
//SetScan<Student>("T_Student",0,"\"StudentName\":\"张三\"",10000) 这里T_Student为key,0为cursor,"\"StudentName\":\"张三\""为pattern,10000为count
public static List<T> SetScan<T>(string key, int cursor, string pattern, int count)
{
List<T> list = new List<T>();
var result = Cache.ScriptEvaluate(LuaScript.Prepare("return redis.call('SSCAN',@key,@cursor,'MATCH',@pattern,'COUNT',@count)"), new { key = key, cursor = cursor, pattern = "*" + pattern + "*", count = count });
if (!result.IsNull)
{
var vals = ((StackExchange.Redis.RedisResult[])((StackExchange.Redis.RedisResult[])result)[1]);
foreach (var item in vals)
{
list.Add(JsonSerializer.DeserializeFromString<T>(Unescape(item.ToString())));
}
}
return list;
}