【问题标题】:Caching query results in ORMs - satisfying arbitrary subset queries在 ORM 中缓存查询结果 - 满足任意子集查询
【发布时间】:2009-03-12 01:08:19
【问题描述】:

我知道 N/Hibernate 使用缓存来满足它以前见过的查询,这称为查询缓存。但是,它能否满足该查询的一个子集?我想不会,因为我猜想弄清楚这一点的一般问题是不确定的。

但是,有什么策略可以做到这一点吗?假设我要查询所有价格低于 20 美元的小部件。后来,我有一个查询是针对 10 美元以下的所有小部件。显然,第二个查询结果已经被缓存(假设没有驱逐等),所以我想根据缓存的查询谓词重新评估谓词,以确定它是否“包含”它。有没有一些实用的策略来做到这一点?

【问题讨论】:

    标签: orm caching logic


    【解决方案1】:

    在缓存的查询结果上使用内存过滤是否很常见,例如使用 LINQ。

    【讨论】:

    • 但是你怎么知道查询匹配内存中的结果,也就是说,前一个查询的结果覆盖了有问题的查询?如果像“Price
    • 你通常会缓存整个集合(它在大小方面很重要)
    • 什么叫大?我希望大多数参考数据都适合内存
    猜你喜欢
    • 2018-10-14
    • 1970-01-01
    • 2013-08-10
    • 2017-08-11
    • 2011-06-05
    • 1970-01-01
    • 2018-04-13
    • 2011-04-20
    • 1970-01-01
    相关资源
    最近更新 更多