Cache缓存使用

摘要:
使用Cache类的优点是,当缓存数据发生更改时,Cache类将使数据无效,重新添加缓存数据,然后通知应用程序报告缓存的及时更新。

之前做项目的时候需要用到缓存技术对客户端页面的一个List进行缓存设置,在这之前没使用过,因此对此做个记录:

1、缓存的引用空间:System.Web.Caching; 缓存命名空间主要提供三种操作:缓存数据对象、对象的缓存依赖和数据库的缓存依赖。其中缓存任何对象都使用一个类Cache,但当缓存发生改变时,普通对象和数据库对象的依赖处理不同。

2、管理缓存类:Cache

Cache类用来存储数据对象,并提供方法对这些对象进行编辑。Cache类属于字典类,其根据一定的规则存储用户需要的数据,这些数据的类型不受限制,可以是字符串、数组、数据表、Dataset和哈希表等。 使用Cache类的优点是当缓存的数据发生变化时,Cache类会让数据失效,并实现缓存数据的重新添加,然后通知应用程序,报告缓存的及时更新。

二、方法详解:

  Cache类的方法主要提供对缓存数据的编辑操作,如增、删、改等。

  Add 将数据添加到Cache对象 Insert 向Cache中插入数据项,可用于修改已经存在的数据缓存项 Remove 移除Cache对象中的缓存数据项 Get 从Cache对象中获取指定的数据项,注意返回的是Object类型,需要进行类型转换 GetType 从Cache对象中获取数据项的类型,判断数据类型后,方便进行转换

  Insert 向Cache中插入数据项,可用于修改已经存在的数据缓存项
  Remove 移除Cache对象中的缓存数据项
  Get 从Cache对象中获取指定的数据项,注意返回的是Object类型,需要进行类型转换

  GetType 从Cache对象中获取数据项的类型,判断数据类型后,方便进行转换

其中Add方法的函数声明如下:

Cache缓存使用第1张Cache缓存使用第2张
 1 public Object Add ( 
 2         string key, 
 3         Object value, 
 4         CacheDependency dependencies, 
 5         DateTime absoluteExpiration, 
 6         TimeSpan slidingExpiration, 
 7         CacheItemPriority priority,
 8          CacheItemRemovedCallback onRemoveCallback 
 9 10             
View Code

  在使用Add方法时,以上7个参数是必需的,其代表意义如下:】

  — 参数“key”代表缓存数据项的键值,必须是唯一的。

  — 参数“value”代表缓存数据的内容,可以是任意类型。

— 参数“dependencies”表示缓存的依赖项,也就是此项的更改意味着缓存内容已经过期。如果没有依赖项,可将此值设置为NULL。

— 参数“absoluteExpiration”是日期型数据,表示缓存过期的时间,.NET 2.0提供的缓存在过期后是可以使用的,能使用多长时间,就看这个参数的设置。

— 参数“slidingExpiration”的类型表示一段时间间隔,表示缓存参数将在多长时间以后被删除,此参数与absoluteExpiration参数相关联。

— 参数“priority”表示撤销缓存的优先值,此参数的值取自枚举变量“CacheItemPriority”,优先级低的数据项将先被删除。此参数主要用在缓存退出对象时。

— 参数“onRemoveCallback”表示缓存删除数据对象时调用的事件,一般用做通知程序。

 

PS:在使用Cache时发现并不能像网上直接使用Cache类名进行操作,例如:Cache["temp"],在使用过程中会产生“无法将类名当变量名使用的错误”,同时如果不使用

1 Cache cache=new HttpRuntime();

方式进行声明也会产生“未将对象”的错误。

免责声明:文章转载自《Cache缓存使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇音视频技术应用(5)使用QT渲染RGB数据的一个简单示例Android Studio中导入Android项目StepbyStep下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

nodejs API

1、querystring参数处理 序列化 > querystring.stringify({'name':'scott',course:['jade','node'],from:''}) 'name=scott&course=jade&course=node&from=' > querystring.stringify...

如何修改phpstorm的缓存目录

相信使用phpstorm的人们都被缓存目录的大小困扰过。怎么修改到其它地方呢? 1. 找到idea.properties 文件,配置信息都在此文件中,F:Program FilesJetBrainsPhpStorm 2018.1.6in 按照自己的安装目录修改就可以。 2. 3. 图中红框的位置,默认时没有下面黑色代码的,拷贝出来,修改为要保存的地址重启p...

Web_0006:阿里云服务器OSS缓存设置清理

工作中的项目使用了前后端分离得方式去开发,前端存储在OSS上套了一层CDN做加速分发(也因为CDN的价格比OSS更低)。但是最近老是遇到前端部署页面后客户端显示炸了的问题。 搜索之后,发现OSS支持 对象更新后刷新CDN缓存的功能。 操作步骤 1.点击进入「对象存储OSS」2.左侧列表选择指定的bucket3.选择顶部tab栏的「域名管理」4.添加域名后配...

Android webView 缓存 Cache + HTML5离线功能 解决

时间 2013-06-11 21:06:14CSDN博客 原文 http://blog.csdn.net/moubenmao/article/details/9076917 主题 Android HTML5 WebView的缓存可以分为页面缓存和数据缓存。 页面缓存是指加载一个网页时的html、JS...

12、MyBatis教程之缓存

13、缓存 简介 1、什么是缓存 [ Cache ]? 存在内存中的临时数据。 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。 2、为什么使用缓存? 减少和数据库的交互次数,减少系统开销,提高系统效率。 3、什么样的数据能使用缓存? 经常查询...

10个常见的缓存使用误区

在日常工作中,开发者经常利用缓存来进行优化站点或优化应用程序。但在实际应用中,在使用缓存时,总是那么不尽如意。这什么原因呢?本文,笔者收集了最为常见的十大缓存误区以及使用建议。我们一起来看下 : 1.  依赖默认的序列化。 默认的序列化处理方式可能会消耗大量的CPU资源,特别是处理复杂类型数据时。所以建议要根据语音和环境的不同,采用最优化的序列化和反序列化...