ASP.NET缓存全解析文章索引

  • ASP.NET缓存全解析1:缓存的概述
  • ASP.NET缓存全解析2:页面输出缓存
  • ASP.NET缓存全解析3:页面局部缓存
  • ASP.NET缓存全解析4:应用程序数据缓存
  • ASP.NET 缓存全解析5:文件缓存依赖
  • ASP.NET 缓存全解析6:数据库缓存依赖
  • ASP.NET 缓存全解析7:第三方分布式缓存解决方案 Memcached和Cacheman

  System.Web.Caching 命名空间提供用于缓存服务器上常用数据的类。此命名空间包括 Cache 类,该类是一个字典,您可以在其中存储任意数据对象,如哈希表和数据集。它还为这些对象提供了失效功能,并为您提供了添加和移除这些对象的方法。您还可以添加依赖于其他文件或缓存项的对象,并在从 Cache 对象中移除对象时执行回调以通知应用程序。

///<summary>
/// 获取当前应用程序指定CacheKey的Cache对象值
///</summary>
///<param name="CacheKey">索引键值</param>
///<returns>返回缓存对象</returns> 
publicstaticobject GetCache(string CacheKey)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
return objCache[CacheKey];
}
///<summary>
/// 设置当前应用程序指定CacheKey的Cache对象值
///</summary>
///<param name="CacheKey">索引键值</param>
///<param name="objObject">缓存对象</param>
publicstaticvoid SetCache(string CacheKey, object objObject)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
objCache.Insert(CacheKey, objObject);
}
///<summary>
/// 设置当前应用程序指定CacheKey的Cache对象值
///</summary>
///<param name="CacheKey">索引键值</param>
///<param name="objObject">缓存对象</param>
///<param name="absoluteExpiration">绝对过期时间</param>
///<param name="slidingExpiration">最后一次访问所插入对象时与该对象过期时之间的时间间隔</param>
publicstaticvoid SetCache(string CacheKey, object objObject, DateTime absoluteExpiration, TimeSpan slidingExpiration)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
objCache.Insert(CacheKey, objObject, null, absoluteExpiration, slidingExpiration);
}
protectedvoid Page_Load(object sender, EventArgs e)
{
string CacheKey ="cachetest";
object objModel = GetCache(CacheKey);//从缓存中获取
if (objModel ==null)//缓存里没有
{
objModel = DateTime.Now;//把当前时间进行缓存
if (objModel !=null)
{
int CacheTime =30;//缓存时间30秒
SetCache(CacheKey, objModel, DateTime.Now.AddSeconds(CacheTime), TimeSpan.Zero);//写入缓存
}
}
Label1.Text = objModel.ToString();
}

  以上几种方法都很好的解决了数据缓存的问题,但由一个最大的问题是当数据发生变化了,而缓存里还是过期的数据,只有等缓存过期后才会重新获取最 新的数据,这样的话,很多时候用户获取的数据都是和实际数据不一致的过期数据。这同样给用户造成了比较大的麻烦,怎么办呢?接着往下看。

转载于:https://www.cnblogs.com/tonykan/archive/2012/08/28/2660414.html

ASP.NET缓存全解析4:应用程序数据缓存(转)相关推荐

  1. 系统缓存全解析 [转]

    有时候总听到网友说网站运行好慢,不知如何是好:有时候也总见到一些朋友写的网站功能看起来非常好,但访问性能却极其的差.没有"勤俭节约"的意识,势必会造成"铺张浪费" ...

  2. 【转】系统缓存全解析二:动态缓存(2)-页面局部缓存的两种方式

    有时缓存整个页面是不现实的,因为页的某些部分可能在每次请求时都需要变化.在这些情况下,只能缓存页的一部分.顾名思义,页面部分缓存是将页面部分内容保存在内存中以便响应用户请求,而页面其他部分内容则为动态 ...

  3. 【转】系统缓存全解析一

    具体请看:(http://msdn.microsoft.com/zh-cn/library/aa478965.aspx) 1,数据库过程缓存(执行计划缓存):缓存sql脚本的执行计划+缓存sql脚本的 ...

  4. 【转】系统缓存全解析二:动态缓存(4)-第三方分布式缓存解决方案 Memcache(2)...

    缓存系统MemCached的Java客户端优化历程(转载自http://code.google.com/p/memcache-client-forjava/.) Memcached是一种集中式Cach ...

  5. 微信小程序数据缓存Storage

    1.存放数据 wx.setStorage(Object object) 将数据存储在本地缓存中指定的 key 中.会覆盖掉原来该 key 对应的内容.数据存储生命周期跟小程序本身一致,即除用户主动删除 ...

  6. 微信小程序—数据缓存

    每个微信小程序都可以有自己的本地缓存,可以通过 wx.setStorag(wx.setStorageSync).wx.getStorage(wx.getStorageSync).wx.clearSto ...

  7. 微信小程序数据缓存API整理

    1.wx.getStorage(OBJECT) 从本地缓存中异步获取指定 key 对应的内容 wx.getStorage({key: 'key',success: function(res) {con ...

  8. spring boot 缓存_Spring Boot 集成 Redis 实现数据缓存

    Spring Boot 集成 Redis 实现数据缓存,只要添加一些注解方法,就可以动态的去操作缓存了,减少代码的操作. 在这个例子中我使用的是 Redis,其实缓存类型还有很多,例如 Ecache. ...

  9. 小程序 数据缓存

    Page( { data: { // text:"这是一个页面" storageContent: '', storageSyncContent: '' }, onLoad: fun ...

最新文章

  1. java poi3.15 ppt,Apache POI PPT - 演示( Presentation)
  2. 用VIM打造C语言编写器
  3. 正则汇总 个人汇总 不断更新中
  4. 注入dll到explorer.exe中无反应_MBR膜生物反应器的安装及技术要求都有什么呢?
  5. python编程能有什么用_揭秘python都能做什么?
  6. 【英语学习】【English L06】U03 House L5 Renting a House
  7. mysql 8.0空间索引_牛逼!MySQL 8.0 中的索引可以隐藏了…
  8. 【数据库】第五章 数据库的完整性(2020.4.15)联系第三章
  9. 下载geoip/GeoLite2-ASN.mmdbGeoLite2-City.mmdb
  10. 记一次Openwrt使用ssh连接失败的经验
  11. springboot yml文件不是绿叶子问题
  12. 最新虚拟机SAP ECC6.0 EHP7带示例数据IDES版+BW740
  13. 批量爬取上交所上市公司报告
  14. 通过SSH访问电信天翼云服务器,报ssh_exchange_identification: read: Connection reset by peer的解决方法
  15. SQL中Round函数没有四舍五入原因及处理方法
  16. Kubernetes 的 HPA 原理详解
  17. 假设检验是单侧还是双侧
  18. new Point和new Point()
  19. 2020年 前端面试问题总结:附答案
  20. LabVIEW编程LabVIEW开发 研华PCI-1756 例程与相关资料

热门文章

  1. 关于Android中工作者线程的思考
  2. 深度增强学习前沿算法思想
  3. 【区块链基础知识系列】 第9课 一文诠释什么是DAG
  4. 【区块链基础知识系列】 第8课 区块链之零知识证明
  5. decimal是( )数据类型_SQL 通用数据类型
  6. 天锐绿盾解密_天锐绿盾携手衡阳规划设计院 实现信息系统安全管理
  7. python字典中append_零基础入手!Python中字典与集合的使用指南
  8. java命令依赖第三方jar原理_java命令执行带jar包依赖的文件执行不了
  9. php编写猜拳游戏,Python中猜拳游戏与猜筛子游戏的实现方法
  10. mysql 表资源,MySQL 复制表的方法