我一直在使用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岁的所有人
什么是更好的速度?
或
有没有人有这方面的经验?
答案 0 :(得分:0)
我一直在努力解决同样的问题,我的选择是保存一组“轻”数据,表示我需要识别整个寄存器的属性o我需要过滤整个数据的属性,然后转到如有必要,其余的数据库。
我刚刚开始使用redis,我知道这可能不是最好的选择,但它最好每次都去数据库,甚至过滤信息。
希望知道您是否找到了更好的解决方案:)
答案 1 :(得分:0)
我认为Redis不是这类查询的理想选择,它没有索引,因此您可能最终构建自己的查询以满足速度要求。这根本不是一个好主意。
所以我会使用一个SQL数据库,它可以帮助我解决这些问题,甚至是Person类型上更复杂的问题。
然后,您只能使用Redis缓存将查询结果存储在其中,以便您可以轻松地通过它们进行分页或排序等操作。
至少这是我们在应用程序中执行此操作的方式。