对于缓存,nhibernate和涉及这两者的所有内容,我都是一个完整的新手,所以这个问题可能过于愚蠢。使用nHibernate/ASP.NET缓存一致性与静态对象
我有我的系统中的多个其他对象使用的对象的某些实例。因此,例如..
class Template {
// lots of data
}
class One {
IList<Template> Templates { get; set; }
}
class Two {
IList<Template> Templates { get; set; }
}
class Three {
IList<Template> Templates { get; set; }
}
现在,届时,Template
某些情况下会使用非常,非常频繁。 (每20秒思考一次),它包含了很多需要数学计算的东西。
我的问题基本上是哪种方法对我的数据库/服务器的压力最小。
我最好只在nHibernate中将所有内容都留在Level 2缓存中吗?或者我更明智地检索Template
对象,并在我的ASP.NET
应用程序启动时将其存储在一个静态变量中,并在该变量更新时刷新该变量?
我已经看过一些其他类似的问题,但我仍然在黑暗中。关于缓存的大部分文档都假设了大量有关该主题的知识,因此我很难区分哪些是最佳流程。
谢谢。这很有意义,它清除了我关于缓存的很多问题。这可能在其他地方列出,但我没有找到它。 – Ciel 2011-05-05 13:12:17
_我想你需要给出更多的细节,说明你将要处理什么类型的数据,以及如何存储和更新数据以便得到一个有用的答案。 - 其实你回答得非常好你的描述。目标是防止对数据库造成压力,缓存工作的方式只能用于那些不经常更改的数据。所以我需要将我的'Templates'抽象为两种类型,其中一个将被缓存在数据库中,另一个将在程序启动时被缓存为静态变量。 – Ciel 2011-05-05 13:16:51