【问题标题】:How to keep only last record in second level cache?如何在二级缓存中只保留最后一条记录?
【发布时间】:2012-01-18 07:55:42
【问题描述】:

每秒钟我都会存储很多对象 Foo 但新对象会与之前的对象进行比较。

我可以将 NHibernate 二级缓存配置为只保留最后一个 Foo 对象还是我应该自己实现?

小背景:
我有缓存的对象 Doo 并引用 LastFoo 到对象 Foo。 Doo 被缓存,但 Foo 没有。也许这个缓存只能通过引用last Foo来完成?

更多背景:
当 new Foo 创建时,很明显它将保存在数据库中。我通过 LastFoo 属性引用它。创建下一个 Foo 时,我必须与前一个进行比较,并且只有那个。我可以从 LastFoo 获取它,但 NHibernate 总是查询它。

如何避免前一个 Foo 的 db 命中(只有这个,我不想缓存所有 Foo 对象)?甚至可以使用 NHibernate 还是我需要自己缓存它?

【问题讨论】:

  • 如果您只是想缓存 Foo 的特定实例(最近创建的),那么是的,我会自己缓存它。

标签: nhibernate caching second-level-cache


【解决方案1】:

我决定添加可缓存实体 LatestFoo 并对其进行引用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    相关资源
    最近更新 更多