首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ServiceStack.Redis搜索缓存

ServiceStack.Redis搜索缓存
EN

Stack Overflow用户
提问于 2015-05-07 20:21:58
回答 2查看 522关注 0票数 1

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

我有一个简单的对象

代码语言:javascript
复制
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; }
}

我想把所有姓乔的人都送回去,他们都是10岁以上的人

什么是更好的速度明智?

  1. 对数据库运行查询,这将返回ids列表,并通过Redis .GetByIds函数获得匹配的记录。

  1. 因为RedisClient没有本地Linq支持(没有AsEnumerable只支持iList)来运行GetAll(),并且没有预先形成进一步的过滤。

有人有这方面的经验吗?

EN

回答 2

Stack Overflow用户

发布于 2015-05-24 16:36:40

我一直在努力解决同样的问题,我的选择是保存一组“轻”的数据,它代表了我需要的属性,我需要识别一个完整的寄存器o属性,我需要过滤所有的数据,如果需要的话,可以转到数据库进行其余的操作。

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

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

票数 0
EN

Stack Overflow用户

发布于 2015-05-25 07:38:12

我认为Redis不是这类查询的好候选者,它没有索引,因此您可能最终会为了满足速度要求而构建自己的索引。这根本不是个好主意。

因此,我将使用SQL db,它可以帮助我处理这样的查询,或者更复杂的查询( Person类型)。然后,您可以使用Redis缓存来将查询结果存储在其中,这样您就可以轻松地浏览它们,以便进行分页或排序。至少我们在应用程序中就是这样做的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30110968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档