Asp.net中的缓存?
1合并指针。 – 2009-12-14 05:16:02
我不知道我理解的问题,但我会尽力。所有缓存都是存储数据的“便宜”地方。我说便宜意味着访问速度比“昂贵”的位置快。例如,您可能将数据从驱动器上的文件(昂贵,缓慢)缓存到内存(便宜,快速),以便快速访问。那是你问的吗?
Cory Charlton先生它与硬件有关,但我想要在编程端的asp.net中缓存 – 2009-12-14 04:25:23
其实这就是一般的缓存。您也可以使用缓存来存储“昂贵”的数据进行计算。例如,如果您必须在数据集上运行计算,5分钟后收到结果,则可以将数据缓存到临时存储位置,以便下次可以“便宜”地检索它。也许这将有助于:http://en.wikipedia.org/wiki/Cache – 2009-12-14 04:30:54
缓存是一个数据集合,用于复制其他地方存储的或之前计算的原始数据,其中原始数据的获取成本很高(由于访问时间较长)或来计算,与读取缓存的成本相比。换句话说,高速缓存作为临时存储区域运行,在该区域中可以存储经常访问的数据以便快速访问。一旦数据存储在缓存中,将来可以通过访问缓存副本而不是重新获取或重新计算原始数据来使用它。 – 2009-12-14 04:31:33
对于ASP.Net应用程序而言,缓存可以采用许多不同的含义,即将ASP.Net应用程序从浏览器一直传播到硬件,同时在中间引发IIS,应用程序和数据库。
我想你不想知道应用程序和会话缓存。 您还可以在IIS级别(在IIS 7中)和ASP.Net级别使用输出缓存来缓存Web应用程序层。这两个缓存是您可以控制得最多的缓存,并且给您提供了很多好处,同时使用起来也很简单。
另一方面是内存分布式缓存系统。除了memcache和Appfabric(速度),还有像NCache或Oracle Coherence这样的商业解决方案。这种缓存级别以更低的成本承诺可扩展性。扩展数据库层与此相比是昂贵的。尽管你可能不得不考虑网络带宽等方面。这种类型的缓存,特别是失效和失效可能很复杂。
然后在客户端Web代理层进行缓存,可以通过缓存控制HTTP标头进行控制。
最后,您可以使用浏览器级缓存,查看小数据的状态和Cookie。
缓存在数据库级别或SAN等基础架构层对于您的应用程序是透明的。
在ASP.NET缓存可以为你 包括@Outputdirective在你的页面的网页
- 缓存整个响应内容
你可以做到这一点编程方式使用 Response.Cache.SetExpires(DateTime.Now。AddSeconds(120));
您可以通过使用OutputCache指令在Usercontrol
缓存页面的一部分“一旦启用了输出缓存,为 页面初始HTTP GET请求放置在输出缓存的动态内容的时间量 指定输出缓存满足后续的GET,HEAD或POST请求 该页面,直到指定的时间到期为止。 MSDN
- 缓存应用程序数据 在其最简单的可以: 缓存[ “键”] = DateTime.Now.ToString(); //或数据集
检索 string cachedValue =(string)Cache [“key”]; 删除 Cache.Remove(“key”);
Retrieving Values of Cached Items
缓存是每个应用域中创建,而不是特定的用户。高速缓存可轻松提高性能达30%。
有用SO链接
谢谢Mr.PRR为例谢谢 – 2009-12-14 08:45:56
我会参考链接先生Harryboy – 2009-12-14 04:28:12
请参阅最后一个专门 – Harryboy 2009-12-14 04:29:32
雅我指的是最后一个初学者先生Harrbyboy – 2009-12-14 04:39:50