Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Redis正在搜索缓存_C#_Linq_C# 4.0_Caching_Redis - Fatal编程技术网

C# Redis正在搜索缓存

C# Redis正在搜索缓存,c#,linq,c#-4.0,caching,redis,C#,Linq,C# 4.0,Caching,Redis,我已经使用ServiceStack.Redis好几天了,我应用程序中的最后一个难题是搜索缓存 我有一个简单的对象 public class Person { public int Id { get; set; } public string Name { get; set; } public string Surname { get; set; } public int Age { get; set; } public string Profession

我已经使用ServiceStack.Redis好几天了,我应用程序中的最后一个难题是搜索缓存

我有一个简单的对象

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Surname { get; set; }
    public int Age { get; set; }
    public string Profession { get; set; }
}
e、 g.我想返回所有名为Joe且年龄超过10岁的人

什么是更好的速度智能

  • 对返回ID列表的数据库运行查询,然后通过Redis.GetByIds函数获得匹配的记录
  • 由于RedisClient没有本机Linq支持(不具有仅可计算的iList),因此无法运行GetAll()并执行进一步的筛选

  • 有人对此有经验吗?

    我一直在努力解决同样的问题,我的选择是保存一组“轻”数据,这些数据表示我需要识别整个寄存器的属性o我需要过滤整组数据的属性,然后在必要时转到数据库获取其余的数据

    我刚开始使用redis,我知道这可能不是最好的选择,但它比每次都去数据库过滤信息要好


    希望知道您是否找到了更好的解决方案:)

    我认为Redis不适合这种查询,因为它没有索引,所以您可能会构建自己的索引以满足速度要求。这根本不是个好主意
    因此,我将使用SQL db,它可以帮助我处理此类查询,或者更复杂的人员类型查询。 然后,您可以使用Redis缓存仅将查询结果存储在其中,这样您就可以轻松地通过它们进行分页或排序。
    至少我们在应用程序中是这样做的。

    什么是速度方面的最佳选择?我怀疑,如果您对每一个都进行数千次分析,就会发现什么最适合您的应用程序结构和数据集。