| 器,您要在其中填充Forums 或 Threads集合,应用业务规则(如权限);最重要的是要在 其中执行缓存逻辑。
技巧 4 — ASP.NET 缓存 API
编写应用程序代码行之前,一个首要完成的操作是设计应用层的结构,以便最大化利用 ASP.NET 缓存功能。
假如您的组件要在 ASP.NET 应用程序中运行,则只需在该应用程序项目中包括一个 System.Web.dll 引用。当您需要访问该缓存时,请使用 HttpRuntime.Cache 属性(通过 Page.Cache 和 HttpContext.Cache 也可访问这个对象)。
对于缓存数据,有几个规则。首先,假如数据可能会多次使用时,则这是使用缓存的一个 很好的备选情况。第二,假如数据是通用的,而不特定于某个具体的请求或用户时,则也 是使用缓存的一个很好的备选情况。假如数据是特定于用户或请求的,但是寿命较长的话 ,仍然可以对其进行缓存,但是这种情况可能并不经常使用。第三,一个经常被忽略的规 则是,有时可能您缓存得太多。通常在一个 x86 计算机上,为了减少内存不足错误出现的 机会,您会想使用不高于 800MB 的专用字节运行进程。因此缓存应该有个限度。换句话说 ,您可能能够重用某个计算结果,但是假如该计算采用 10 个参数的话,您可能要尝试缓 存 10 个排列,这样有可能给您带来麻烦。一个要求 ASP.NET 的最常见支持是由于过度缓 存引起的内存不足错误,尤其是对于大型数据集。
缓存有几个极佳的功能,您需要对它们有所了解。首先,缓存会实现最近最少使用的算法 ,使得 ASP.NET 能够在内存运行效率较低的情况下强制缓存清除 - 从缓存自动删除未使 用过的项目。第二,缓存支持可以强制失效的过期依靠项。这些依靠项包括时间、密钥和 文件。时间经常会用到,但是对于 ASP.NET 2.0,引入了一个功能更强的新失效类型:数 据库缓存失效。它指的是当数据库中的数据发生变化时自动删除缓存中的项。有关数据库 缓存失效的具体信息,请参阅 MSDN?Magazine 2004 年 7 月的 Dino Esposito Cutting Edge 专栏。要了解缓存的体系结构,请参阅图 3。

技巧 5 — 每请求缓存
|
| 共4页: 上一页 [1] [2] [3] 4 下一页 |
评论加载中…