【问题标题】:NHibernate, Caching and custom SQL queriesNHibernate、缓存和自定义 SQL 查询
【发布时间】:2012-03-01 15:39:00
【问题描述】:

我们使用 NHibernate 和 Memcache 作为二级缓存。有时需要更高级的查询或批量查询操作。从 Nhibernate in Action 一书中,他们推荐了以下内容:

“我们认为 ORM 不适合批量更新(或批量删除)操作。如果 您有这样的用例,不同的策略几乎总是更好:调用存储的 数据库中的过程,或为此使用直接 SQL UPDATE 和 DELETE 语句 特定用例。”

我担心对底层数据库的查询不会反映在缓存中(至少在缓存到期之前),我想知道是否有人提出了任何有效的策略来混合和匹配 NHibernate 与自定义 SQL 语句?

有没有办法让批量更新语句(使用自定义 sql 执行)反映在二级缓存中?我知道可以手动驱逐,但这会从缓存中删除项目,因此会增加数据库的命中率。

社区是否有任何已发现有效解决此问题的解决方案?

【问题讨论】:

  • 社区也希望得到接受的答案......

标签: nhibernate


【解决方案1】:

据我所知,没有任何方法可以通过大量更新使二级缓存保持最新。但是您可以按照http://www.nhforge.org/doc/nh/en/index.html#performance-sessioncache 中的说明部分清除缓存。

【讨论】:

    猜你喜欢
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-17
    • 2012-11-09
    • 2011-06-16
    • 2012-10-20
    • 1970-01-01
    相关资源
    最近更新 更多