• asp.net 缓存应用程序数据


    ASP.NET 为您提供了一个强大的、便于使用的缓存机制,用于将需要大量服务器资源来创建的对象存储在内存中。 缓存这些类型的资源会大大改进应用程序的性能。

    缓存是由 Cache 类实现的;缓存实例是每个应用程序专用的。 缓存生存期依赖于应用程序的生存期;重新启动应用程序后,将重新创建 Cache 对象。

    设计 Cache 类是为了便于使用。 您可以将项放置在 Cache 中,并在以后使用简单的键/值对来检索这些项。 有关如何执行此操作的示例,请参见 如何:将项添加到缓存中 和 如何:检索缓存项的值

    Cache 类提供了强大的功能,允许您自定义如何缓存项以及将它们缓存多长时间。 例如,当缺乏系统内存时,缓存会自动移除很少使用的或优先级较低的项以释放内存。 该技术也称为清理,这是缓存确保过期数据不使用宝贵的服务器资源的方式之一。

    当执行清理时,您可以指示 Cache 给予某些项比其他项更高的优先级。 若要指示项的重要性,可以在使用 Add 或 Insert 方法添加项时指定一个 CacheItemPriority 枚举值。

    当使用 Add 或 Insert 方法将项添加到缓存时,您还可以建立项的过期策略。 您可以通过使用 DateTime 值指定项的确切过期时间(绝对过期时间),来定义项的生存期。 也可以使用 TimeSpan 值指定一个弹性过期时间,弹性过期时间允许您根据项的上次访问时间来指定该项过期之前的运行时间。 一旦项过期,便将它从缓存中移除。 尝试检索它的值的行为将返回 null(在 Visual Basic 中为 Nothing),除非该项被重新添加到缓存中。

    对于存储在缓存中的易失项(例如那些定期进行数据刷新的项或那些只在一段时间内有效的项),通常设置一种过期策略:只要这些项的数据保持为最新的,就将它们保留在缓存中。 例如,如果您正在编写一个应用程序,该应用程序通过另一个网站获取数据来跟踪体育比赛的比分,那么只要源网站上比赛的比分不更改,就可以缓存这些比分。 在此情况下,您可以根据其他网站更新比分的频率来设置过期策略。 您可以编写代码来确定缓存中是否是最新的比分。 如果该比分不是最新的,则代码可以从源网站读取比分并缓存新值。

    最后,ASP.NET 允许您根据外部文件、目录(文件依赖项)或另一个缓存项(键依赖项)来定义缓存项的有效性。 如果具有关联依赖项的项发生更改,缓存项便会失效并从缓存中移除。 您可以使用该技术在项的数据源更改时从缓存中移除这些项。 例如,如果您编写一个处理 XML 文件中的财务数据的应用程序,则可以从该文件将数据插入缓存中并在此 XML 文件上保留一个依赖项。 当该文件更新时,从缓存中移除该项,您的应用程序重新读取 XML 文件,然后将刷新后的数据放入缓存中。

    注意注意

    Cache 对象没有关于它所包含项的内容的信息。 它只保留对这些对象的引用。 它还提供跟踪它们的依赖项和设置到期策略的方法。

    有关如何使用这些功能的更多信息,请参见 如何:将项添加到缓存中

    作者:沐雪
    文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者和博客园共有,如需转载恳请注明。
    如果您觉得阅读这篇博客让你有所收获,请点击右下方【推荐】
    找一找教程网-随时随地学软件编程 http://www.zyiz.net/

  • 相关阅读:
    记一次坑爹的jconsole使用
    触发Full GC的时机
    java NIO之Selector
    java NIO之SelectedKey
    java泛型中的各种限制
    filebeat安装部署
    Kibana安装及简单使用
    elastucasearch基础理论以及安装
    Salt 与Salt API配置
    RabbitMQ 相关理论部分
  • 原文地址:https://www.cnblogs.com/puzi0315/p/2628988.html
Copyright © 2020-2023  润新知