首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate事件探查器-缓存的实体

NHibernate事件探查器-缓存的实体
EN

Stack Overflow用户
提问于 2011-05-18 16:20:10
回答 1查看 945关注 0票数 1

我刚刚实现了SysCache2,并为我的解决方案中的一些实体激活了缓存。一切都很正常,但我有一个问题:

有时,当im浏览特定页面时,NHibernate事件探查器显示正在获取的缓存实体数量非常多。几百个缓存实体应该是一个相当大的使用量,但有时会达到3000-5000个。请参见下图。

在这种情况下,是否真的从缓存中提取5002个实体,或者NHibernate事件探查器中是否存在打印错误?

从加载的角度来看,一切似乎都很好。页面请求已完成,但探查器仍在不断计数越来越多的缓存实体。

有没有人经历过类似的事情,或者这真的发生过?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-18 20:57:59

嗯,它真的获取了所有的条目。此外,你的截图被裁剪了,但我假设你收到了来自NHProf的警告,说有太多的缓存调用。

NH有两种不同类型的缓存:查询缓存和实体缓存。查询缓存仅存储由查询产生的项的标识(即,没有数据)。然后,NH必须通过ID从实体缓存中逐个获取项。

更多信息请访问:http://ayende.com/blog/3112/nhibernate-and-the-second-level-cache-tips

请注意,这可能会影响web服务器的性能。我遇到了与您完全相同的情况,并且为这些实体禁用二级缓存的效果更好。

此外,即使在页面加载之后,由于附加器和NHProf之间的一些延迟,它也会继续显示新条目。附加器将所有日志发送到NHProf,它需要一些时间来提取所有信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6041769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档