广告
返回顶部
首页 > 资讯 > 精选 >ASP.NET缓存数据技巧有哪些
  • 566
分享到

ASP.NET缓存数据技巧有哪些

2023-06-18 00:06:37 566人浏览 薄情痞子
摘要

这篇文章主要讲解了“asp.net缓存数据技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.net缓存数据技巧有哪些”吧!ASP.NET缓存数据技巧:访问缓存的值由于缓存中所存

这篇文章主要讲解了“asp.net缓存数据技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.net缓存数据技巧有哪些”吧!

ASP.NET缓存数据技巧:访问缓存的值

由于缓存中所存储的信息为易失信息,即该信息可能由 ASP.NET 移除,因此建议先确定该项是否在缓存中。如果不在,则应将它重新添加到缓存中,然后检索该项。

string cachedString;  if (Cache["CacheItem"] != null)  {      cachedString = (string)Cache["CacheItem"];  }  else {        //缓存不存在时      Cache.Insert("CacheItem", "Hello, World.")      cachedString = (string)Cache["CacheItem"];  }

ASP.NET缓存数据技巧:删除缓存项

由于以下任一原因,缓存中的数据可能会自动移除:缓存已满、该项已过期、依赖项发生更改。注意:如果调用 Insert 方法,并向缓存中添加与现有项同名的项,则将从缓存中删除该旧项。显示删除缓存的值:

Cache.Remove("MyCacheKey");

ASP.NET缓存数据技巧:删除缓存项时通知应用程序

从缓存中移除项时通知应用程序,可能非常有用。例如,可能具有一个缓存的报告,创建该报告需花费大量的时间进行处理。当该报告从缓存中移除时,希望重新生成该报告,并立即将其置于缓存中,以便下次请求该报告时,用户不必等待对此报告进行处理。

ASP.NET 提供了CacheItemRemovedCallback 委托,在从缓存中移除项时能够发出通知。还提供 CacheItemRemovedReason 枚举,用于指定移除缓存项的原因。举例:假设有一个 ReportManager 对象,该对象具有两种方法,即 GetReport 和 CacheReport。GetReport 报告方法检查缓存以查看报告是否已缓存;如果没有,该方法将重新生成报告并将其缓存。CacheReport 方法具有与 CacheItemRemovedCallback 委托相同的函数签名;从缓存中移除报告时,ASP.NET 会调用 CacheReport 方法,然后将报告重新添加到缓存中。

1)创建一个 ASP.NET 网页,该网页将调用类中用于将项添加到缓存中的方法。

protected void Page_Load(object sender, EventArgs e)  {      this.Label1.Text = ReportManager.GetReport();  }

2)创建用于在从缓存中删除项时处理通知的完整类ReportManager。

using System;  using System.WEB;  using System.Web.Caching;  public static class ReportManager  {      private static bool _reportRemovedFromCache = false;            static ReportManager() { }            //从缓存中获取项      public static String GetReport()      {          lock (typeof(ReportManager))          {              if (HttpContext.Current.Cache["MyReport"] != null)              {    //存在MyReport缓存项,返回缓存值                  return (string)HttpRuntime.Cache["MyReport"];              }              else             {   //MyReport缓存项不存在,则创建MyReport缓存项                  CacheReport();                  return (string)HttpRuntime.Cache["MyReport"];              }          }      }       //将项以 MyReport 的名称添加到缓存中,并将该项设置为在添加到缓存中后一分钟过期。      //并且该方法注册 ReportRemoveCallback 方法,以便在从缓存中删除项时进行调用。      public static void CacheReport()      {          lock (typeof(ReportManager))          {              HttpContext.Current.Cache.Add("MyReport",                  CreateReport(), null, DateTime.MaxValue,                  new TimeSpan(0, 1, 0),                   System.Web.Caching.CacheItemPriority.Default,                  ReportRemovedCallback);          }      }       //创建报告,该报告时MyReport缓存项的值      private static string CreateReport()      {          System.Text.StringBuilder myReport =               new System.Text.StringBuilder();          myReport.Append("Sales Report< br />");          myReport.Append("2005 Q2 Figures< br />");          myReport.Append("Sales NE Region - $2 million< br />");          myReport.Append("Sales NW Region - $4.5 million< br />");          myReport.Append("Report Generated: " + DateTime.Now.ToString()               + "< br />");          myReport.Append("Report Removed From Cache: " +               _reportRemovedFromCache.ToString());          return myReport.ToString();      }       //当从缓存中删除项时调用该方法。      public static void ReportRemovedCallback(String key, object value,           CacheItemRemovedReason removedReason)      {          _reportRemovedFromCache = true;          CacheReport();      }  }

不应在 ASP.NET 页中实现回调处理程序,因为在从缓存中删除项之前该页可能已被释放,因此用于处理回调的方法将不可用,应该在非ASP.NET的程序集中实现回调处理程序。为了确保从缓存中删除项时处理回调的方法仍然存在,请使用该方法的静态类。但是,静态类的缺点是需要保证所有静态方法都是线程安全的,所以使用lock关键字。

感谢各位的阅读,以上就是“ASP.NET缓存数据技巧有哪些”的内容了,经过本文的学习后,相信大家对ASP.NET缓存数据技巧有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: ASP.NET缓存数据技巧有哪些

本文链接: https://www.lsjlt.com/news/294605.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NET缓存数据技巧有哪些
    这篇文章主要讲解了“ASP.NET缓存数据技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.NET缓存数据技巧有哪些”吧!ASP.NET缓存数据技巧:访问缓存的值由于缓存中所存...
    99+
    2023-06-18
  • ASP.NET的实用技巧有哪些
    这篇文章主要讲解了“ASP.NET的实用技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ASP.NET的实用技巧有哪些”吧!1.跟踪页面执行设置断点是页面调试过程中的常用手段,除此之...
    99+
    2023-06-17
  • Python 中的同步缓存存储技巧有哪些?
    随着数据量的不断增加,对数据的读写效率也变得越来越重要。为了提高应用程序的性能,我们通常会使用缓存技术来避免频繁地读写磁盘或网络。 在 Python 中,我们可以通过一些同步缓存存储技巧来实现缓存功能。这些技巧包括: 使用内置的缓存模块...
    99+
    2023-10-18
    存储 同步 缓存
  • Redis和本地缓存使用的技巧有哪些
    这篇文章主要介绍“Redis和本地缓存使用的技巧有哪些”,在日常操作中,相信很多人在Redis和本地缓存使用的技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redi...
    99+
    2022-11-30
    redis
  • java缓存技术有哪些
    java的缓存技术有:1.SwarmCache,java群集感知缓存;2.JBossCache,复制事务处理缓存;3.Whirlycache,存在于内存中的对象缓存;4.OSCache,J2EE缓存框架;java的缓存技术有以下几种Swar...
    99+
    2022-10-13
  • 数据库设计技巧有哪些
    这篇文章主要介绍“数据库设计技巧有哪些”,在日常操作中,相信很多人在数据库设计技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库设计技巧有哪些”的疑惑有所帮助!接...
    99+
    2022-10-18
  • MySQL数据库技巧有哪些呢
    这篇文章将为大家详细讲解有关MySQL数据库技巧有哪些呢,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。带你了解10个MySQL数据库技巧01 MySQL中如...
    99+
    2022-10-19
  • 数据库优化技巧有哪些?
    随着网络时代的到来,数据已经成为公司、企业和个人的宝贵财产。小到个人的联系人,大到企业的客户、销售数据,都需要储存和管理。而作为数据储存和管理的重要工具,数据库发挥着不可替代的作用。但是,随着数据量的增加,数据库性能的瓶颈也随之出现,需要进...
    99+
    2023-05-14
    索引优化 查询语句优化 数据库表设计优化
  • 有哪些Python数据分析技巧
    这篇文章主要介绍“有哪些Python数据分析技巧”,在日常操作中,相信很多人在有哪些Python数据分析技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有哪些Python数据分析技巧”的疑惑有所帮助!接下来...
    99+
    2023-06-16
  • Flex数据绑定技巧有哪些
    这篇文章主要介绍Flex数据绑定技巧有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Flex数据绑定技巧有一种简单的方法可以通过选中来激活/禁用控件。举个例子,假设你有一个DataGrid以及一些操作数据的按钮,...
    99+
    2023-06-17
  • PHP大数据存储中的重定向技巧有哪些?
    PHP是一种广泛应用于Web开发的脚本语言,它可以用于处理大量的数据。在存储大量数据时,我们可能会遇到一些重定向技巧,这些技巧可以帮助我们更有效地管理和存储数据。 本文将介绍一些PHP大数据存储中的重定向技巧,这些技巧将帮助您更好地管理和处...
    99+
    2023-06-20
    大数据 存储 重定向
  • 数据库的设计技巧有哪些
    本篇内容介绍了“数据库的设计技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-18
  • 数据库规范化技巧有哪些
    这篇文章给大家介绍数据库规范化技巧有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。  数据库规范化有哪些技巧  在设计表之前,应明确您打算如何处理数据,还要了解随着时间的推移数据会...
    99+
    2022-10-18
  • mysql数据库有哪些优化技巧
    小编给大家分享一下mysql数据库有哪些优化技巧,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.为查询缓存优化你的查询大多数的...
    99+
    2022-10-19
  • Flex数据绑定的技巧有哪些
    这篇文章主要介绍了Flex数据绑定的技巧有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Flex数据绑定技巧有一种简单的方法可以通过选中来激活/禁用控件。举个例子,假设你...
    99+
    2023-06-17
  • 跟踪数据的Python技巧有哪些
    这篇文章主要介绍“跟踪数据的Python技巧有哪些”,在日常操作中,相信很多人在跟踪数据的Python技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”跟踪数据的Python技巧有哪些”的疑惑有所帮助!...
    99+
    2023-06-16
  • MySQL数据库常用技巧有哪些
    这篇文章主要介绍了MySQL数据库常用技巧有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL数据库常用技巧有哪些文章都会有所收获,下面我们一起来看看吧。如何选择服务器的类型?MySQL服务器配置窗口...
    99+
    2023-06-05
  • Excel数据对比技巧有哪些呢
    本篇文章为大家展示了Excel数据对比技巧有哪些呢,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。今天小编将告诉大家一些非常简单又实用的Excel数据对比技巧,帮大家轻松搞定Excel~一、快捷键对C...
    99+
    2023-06-04
  • JVM内存调优有哪些技巧
    这篇文章给大家介绍JVM内存调优有哪些技巧,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。这里向大家描述一下JVM内存的设置原理及调优,默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.l...
    99+
    2023-06-17
  • Flex内存优化技巧有哪些
    这篇文章主要介绍Flex内存优化技巧有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Flex内存优化原则被删除对象在外部的所有引用一定要被删除干净才能被系统当成垃圾回收处理掉;父对象内部的子对象被外部其他对象引用...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作