我想知道缓存及其如何提高网站的性能,你能提供一个简单的例子来理解缓存。谢谢
答案 0 :(得分:2)
答案 1 :(得分:1)
我不确定我理解这个问题,但我会尝试。所有缓存都是存储数据的“便宜”的地方。我说廉价意味着它比“昂贵”的地点更快。例如,您可能将数据从驱动器上的文件(昂贵,慢速)缓存到内存中(便宜,快速),因此可以快速访问它。这就是你问的问题吗?
答案 2 :(得分:1)
我想你不了解应用程序和会话缓存。 您还可以使用IIS级别(在IIS 7中)和ASP.Net级别的输出缓存来缓存Web应用程序层。这两个缓存是您可以控制最多的缓存,并且在使用简单的同时为您提供了很好的好处。
另一方面是内存分布式缓存系统。除了memcache和Appfabric(velocity)之外,还有NCache或Oracle Coherence等商业解决方案。这种级别的缓存有望以更低的成本实现可扩展性。与此相比,扩展DB层的成本很高。您可能必须考虑网络带宽等方面。这种类型的缓存,特别是失效和到期可能很复杂。
然后在客户端Web代理层上进行缓存,可以通过缓存控制HTTP头控制。
最后,您拥有浏览器级缓存,查看状态和小数据的Cookie。
在数据库级别或SAN等基础架构层进行缓存对您的应用程序是透明的。
答案 3 :(得分:1)
使用ASP.NET缓存,您可以
您可以使用以编程方式执行此操作 Response.Cache.SetExpires(DateTime.Now.AddSeconds(120));
您可以使用Usercontrol
中的OutputCache指令缓存部分页面“启用输出缓存后,页面的初始HTTP GET请求 将其动态内容放在输出缓存中一段时间 指定。输出缓存满足后续的GET,HEAD或POST请求 该页面,直到您指定的时间到期。“ MSDN
要检索 string cachedValue =(string)Cache [“key”]; 去除 Cache.Remove( “钥匙”);
Retrieving Values of Cached Items
每个应用程序域都会创建缓存,而不是用户特定的。缓存可以轻松提高性能高达30%。
有用的SO链接
答案 4 :(得分:0)
这是关于ASP.NET Cache类的教程。
它用于存储临时数据/对象。
http://msdn.microsoft.com/en-us/library/6hbbsfk6%28VS.80%29.aspx