【问题标题】:Cache in Asp.net?在 Asp.net 中缓存?
【发布时间】:2010-12-26 07:32:52
【问题描述】:

我想了解缓存以及它如何提高网站的性能,您能否提供一个简单的示例来理解缓存。谢谢

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    这里是缓存链接MSDN

    BeanSoftware

    Dotnetperls

    CodeProject

    非常适合初学者的文章 Exploring Caching

    【讨论】:

    • 请特别参考最后一个
    【解决方案2】:

    我不确定我是否理解这个问题,但我会尝试。所有缓存都是存储数据的“便宜”地方。我说便宜意味着它比“昂贵”的位置访问速度更快。例如,您可以将驱动器上的文件中的数据(昂贵、慢)缓存到内存中(便宜、快),以便可以快速访问它。你问的是这个吗?

    【讨论】:

    • 先生。 Cory Charlton 它与硬件有关,但我想在编程方面的 asp.net 中缓存
    • 其实这就是一般的缓存。您还可以使用缓存来存储计算“昂贵”的数据。例如,如果您必须对数据集运行计算,并且 5 分钟后您收到了结果,那么您可以将数据缓存在临时存储位置,以便下次“廉价”检索它。也许这会有所帮助:en.wikipedia.org/wiki/Cache
    • 缓存是复制存储在其他地方或之前计算的原始值的数据集合,与读取缓存的成本相比,原始数据的获取(由于更长的访问时间)或计算成本很高.换句话说,高速缓存作为临时存储区域运行,可以存储经常访问的数据以供快速访问。一旦数据存储在缓存中,以后可以通过访问缓存副本而不是重新获取或重新计算原始数据来使用它。
    • 您可能缓存在通用 ASP.NET 应用程序中的数据可能是您从 SQL 查询中检索到的数据。 SQL 服务器检索您的数据集需要时间(昂贵),但现在您有了数据,您可以将其缓存在内存中(便宜),下次需要时,您几乎可以立即获取它,而无需等待 SQL 服务器处理您的查询。希望对您有所帮助。
    【解决方案3】:

    对于从浏览器到硬件的 ASP.Net 应用程序,缓存可以具有许多不同的含义,而 IIS、应用程序和数据库位于中间。

    我认为您不想了解应用程序和会话缓存。 您还可以使用 IIS 级别(在 IIS 7 中)和 ASP.Net 级别的输出缓存在 Web 应用程序层进行缓存。这两个缓存是您可以控制最多的一个,在使用简单的同时给您带来很多好处。

    另一方面是内存分布式缓存系统。除了 memcache 和 Appfabric(速度)之外,还有 NCache 或 Oracle Coherence 等商业解决方案。这种级别的缓存承诺以更便宜的成本实现可扩展性。与此相比,扩展数据库层的成本很高。不过,您可能必须考虑网络带宽等方面。这种类型的缓存,特别是失效和过期可能很复杂。

    然后在客户端 Web 代理层进行缓存,可以通过缓存控制 HTTP 标头进行控制。

    终于有了浏览器级别的缓存、视图状态和小数据的 cookie。

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

    【讨论】:

      【解决方案4】:

      使用 ASP.NET 缓存,您可以

      • 缓存页面的整个响应内容 您在页面中包含 @Outputdirective

      Link1

      您可以使用编程方式执行此操作 Response.Cache.SetExpires(DateTime.Now.AddSeconds(120));

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

      "启用输出缓存后,页面的初始 HTTP GET 请求 将其动态内容放置在输出缓存中的时间量 指定。输出缓存满足后续的 GET、HEAD 或 POST 请求 该页面直到您指定的时间到期为止。” MSDN

      • 缓存应用程序数据 在最简单的情况下,您可以: 缓存["key"] = DateTime.Now.ToString(); // 或数据集

      检索 string cachedValue = (string)Cache["key"]; 去除 Cache.Remove("key");

      Adding Items to the Cache

      Retrieving Values of Cached Items

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

      有用的 SO 链接

      Caching Usercontrol

      Caching

      Cache vs Session

      Output caching

      【讨论】:

        【解决方案5】:

        这是一个关于 ASP.NET Cache 类的教程。

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

        http://msdn.microsoft.com/en-us/library/6hbbsfk6%28VS.80%29.aspx

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-04-23
          • 2011-12-11
          • 1970-01-01
          • 2011-01-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多