如何在二级缓存中只保留最后一条记录?

发布于 2024-12-20 21:13:39 字数 440 浏览 1 评论 0原文

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

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

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

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

如何避免上一个 Foo 的数据库命中(只有这一个,我不想缓存所有 Foo 对象)?是否可以使用 NHibernate 或者我需要自己缓存它?

Every second I store a lot of objects Foo but new object is compared to previous.

Can I configure NHibernate Second Level Cache to keep only last Foo object or should I implement this myself?

Little context:
I have object Doo which is cached and have reference LastFoo to object Foo. Doo is cached but Foo not. Maybe this cache can be done only through reference to last Foo?

More background:
When new Foo is created it's obvious that it will be saved in database. I reference to it through LastFoo property. When the next Foo is created I must compare to previous and only that one. I can take it from LastFoo but NHibernate always query for it.

How to avoid db hit for previous Foo (and only this one, I don't want to cache all Foo objects)? Is it even possible using NHibernate or I need to cache it myself?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡莣 2024-12-27 21:13:39

我决定添加可缓存实体LatestFoo 并引用它。

I decided to add cacheable entity LatestFoo and reference to it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文