C# Asp.net中的缓存?

C# Asp.net中的缓存?,c#,asp.net,C#,Asp.net,我想知道缓存以及它是如何提高网站性能的,你能提供一个简单的例子来理解缓存吗。谢谢这是关于ASP.NET缓存类的教程 它用于存储临时数据/对象 这是一个关于ASP.NET缓存类的教程 它用于存储临时数据/对象 我不确定我是否理解这个问题,但我会试试看。所有缓存都是存储数据的廉价场所。我说便宜意味着它比昂贵的地点更容易进入。例如,您可能会将文件中的数据缓存在驱动器上,成本高,速度慢,存储成本低,速度快,因此可以快速访问。这就是你要问的吗?我不确定我是否理解这个问题,但我会试试看。所有缓存都是存储数据

我想知道缓存以及它是如何提高网站性能的,你能提供一个简单的例子来理解缓存吗。谢谢

这是关于ASP.NET缓存类的教程

它用于存储临时数据/对象


这是一个关于ASP.NET缓存类的教程

它用于存储临时数据/对象


我不确定我是否理解这个问题,但我会试试看。所有缓存都是存储数据的廉价场所。我说便宜意味着它比昂贵的地点更容易进入。例如,您可能会将文件中的数据缓存在驱动器上,成本高,速度慢,存储成本低,速度快,因此可以快速访问。这就是你要问的吗?

我不确定我是否理解这个问题,但我会试试看。所有缓存都是存储数据的廉价场所。我说便宜意味着它比昂贵的地点更容易进入。例如,您可能会将文件中的数据缓存在驱动器上,成本高,速度慢,存储成本低,速度快,因此可以快速访问。这就是你要问的吗?

这里是缓存链接

非常适合初学者的文章 以下是缓存链接

非常适合初学者的文章
对于一个ASP.NET应用程序来说,

缓存可能会有很多不同的含义,它从浏览器一直延伸到你的硬件,中间有IIS、应用程序、数据库。p> 我认为您不需要了解应用程序和会话缓存。 您还可以在IIS 7和ASP.Net级别中使用IIS级别的输出缓存在Web应用程序层进行缓存。这两个缓存是您可以控制得最多的一个,在使用简单的同时为您提供了很好的好处

另一方面是内存中的分布式缓存系统。除了memcache和Appfabric velocity之外,还有NCache或Oracle Coherence等商业解决方案。这种级别的缓存保证了以较低的成本实现可扩展性。与此相比,扩展DB层的成本很高。不过,您可能需要考虑网络带宽等方面的问题。这种类型的缓存,特别是带有失效和过期的缓存,可能会很复杂

然后在客户端web代理层进行缓存,缓存控制HTTP头可以控制该层

最后,您有浏览器级缓存、查看状态和小数据的cookie


在基础架构层(如数据库级或SAN等)进行缓存对应用程序是透明的>P>缓存可能会有很多不同的含义。p> 我认为您不需要了解应用程序和会话缓存。 您还可以在IIS 7和ASP.Net级别中使用IIS级别的输出缓存在Web应用程序层进行缓存。这两个缓存是您可以控制得最多的一个,在使用简单的同时为您提供了很好的好处

另一方面是内存中的分布式缓存系统。除了memcache和Appfabric velocity之外,还有NCache或Oracle Coherence等商业解决方案。这种级别的缓存保证了以较低的成本实现可扩展性。与此相比,扩展DB层的成本很高。不过,您可能需要考虑网络带宽等方面的问题。这种类型的缓存,特别是带有失效和过期的缓存,可能会很复杂

然后在客户端web代理层进行缓存,缓存控制HTTP头可以控制该层

最后,您有浏览器级缓存、查看状态和小数据的cookie


在基础架构层(如数据库级或SAN等)进行缓存对应用程序是透明的

使用ASP.NET缓存,您可以

缓存页面的整个响应内容 在页面中包括@Outputdirective 您可以使用 Response.Cache.SetExpiresDateTime.Now.AddSeconds120

您可以使用中的OutputCache指令缓存页面的一部分

启用输出缓存后,页面的初始HTTP GET请求 将其动态内容在输出缓存中放置一段时间 具体说明输出缓存满足后续的GET、HEAD或POST请求 直到指定的时间过期为止。 MSDN

缓存应用程序数据 最简单的情况下,您可以: Cache[key]=DateTime.Now.ToString;//或数据集 取回 string cachedValue=stringCache[key]; 除去 Cache.Removekey

缓存是为每个应用程序域创建的,不是特定于用户的。缓存可以轻松地将性能提高30%

有用的SO链接


使用ASP.NET缓存,您可以

缓存页面的整个响应内容 在页面中包括@Outputdirective 您可以使用 Response.Cache.SetExpiresDateTime.Now.AddSeconds120

您可以使用中的OutputCache指令缓存页面的一部分

启用输出缓存后,页面的初始HTTP GET请求 将其动态内容在输出缓存中放置一段时间 具体说明Th e输出缓存满足后续的GET、HEAD或POST请求 直到指定的时间过期为止。 MSDN

缓存应用程序数据 最简单的情况下,您可以: Cache[key]=DateTime.Now.ToString;//或数据集 取回 string cachedValue=stringCache[key]; 除去 Cache.Removekey

缓存是为每个应用程序域创建的,不是特定于用户的。缓存可以轻松地将性能提高30%

有用的SO链接


科里·查尔顿先生,这与硬件有关,但我想在编程方面谈谈asp.net中的缓存,实际上,这正是缓存的一般含义。您还可以使用缓存来存储计算成本高昂的数据。例如,如果您必须在数据集上运行计算,并且5分钟后收到结果,那么您可以将数据缓存在临时存储位置,以便下次可以便宜地检索数据。也许这会有所帮助:缓存是一组数据,这些数据重复存储在别处或更早计算的原始值,与读取缓存的成本相比,由于访问时间较长,原始数据的获取或计算成本较高。换言之,缓存作为临时存储区运行,可以在其中存储频繁访问的数据,以便快速访问。一旦数据存储在缓存中,以后可以通过访问缓存的副本而不是重新获取或重新计算原始数据来使用该数据。您可能在普通ASP.NET应用程序中缓存的数据可能是从SQL查询中检索到的数据。SQL server检索数据集花费了大量时间,但现在您已经拥有了数据,可以将其廉价缓存在内存中,下次需要时,您几乎可以立即获取数据,而不用等待SQL server处理查询。希望对你有所帮助。Cory Charlton它与硬件有关,但我想在编程方面谈谈asp.net中的缓存实际上这正是缓存的一般含义。您还可以使用缓存来存储计算成本高昂的数据。例如,如果您必须在数据集上运行计算,并且5分钟后收到结果,那么您可以将数据缓存在临时存储位置,以便下次可以便宜地检索数据。也许这会有所帮助:缓存是一组数据,这些数据重复存储在别处或更早计算的原始值,与读取缓存的成本相比,由于访问时间较长,原始数据的获取或计算成本较高。换言之,缓存作为临时存储区运行,可以在其中存储频繁访问的数据,以便快速访问。一旦数据存储在缓存中,以后可以通过访问缓存的副本而不是重新获取或重新计算原始数据来使用该数据。您可能在普通ASP.NET应用程序中缓存的数据可能是从SQL查询中检索到的数据。SQL server检索数据集花费了大量时间,但现在您已经拥有了数据,可以将其廉价缓存在内存中,下次需要时,您几乎可以立即获取数据,而不用等待SQL server处理查询。希望对你有所帮助。请特别参考最后一篇