我的一亩三分地 我就喜欢!
网站首页
网管
论坛
环境保护
方便网址
网管助手
软件
下载
网站地图
设为主页
收藏本站
当前位置: >
一亩三分地:首页
>
网络编程
>
net专区
>
.NET缓存初步
用VB.NET设计各种形状的窗体界面一
(11-23)
NETFramework1.0精简版
(12-22)
.Net中的反射使用入门
(12-22)
C#多线程应用技术面对面探讨
(11-23)
用C#.net轻松制作不规则窗体
(12-15)
ASP.NET与MySQL数据库简明图示入门教
(11-16)
ASP.NET与MySQL数据库简明图示入门教
(11-16)
ASP.NET 链接数据库基础
(11-16)
webconfig的设置节点说明
(11-16)
部署ASP.NET的三大技术(上)
(11-16)
.NET缓存初步
作者:
来源:
点击:
日期:
2007-11-20
.NET的cache类可以为微软输出工具箱增加许多典型的缓存功能。在很多开发
细节
中,cache类可以节约时间,当然它也有很多缺点,比如,要限制一些关键字类型。但是,如果使用得当,它还是可以节约时间。本文中,我主要解释一下如何构造cache,同时,解释一下在必要时如何构造属于自己的cache。
Cache基本知识
cache是用来存储常用信息的高速存储器,使用cache的目的就是要提高系统性能。比如,要开发ASP.NET应用
软件
以
实现
许多用户所要求的相同产品列表功能,就要用到cache来存储产品列表。这样可以防止你重复从数据库中读取信息,否则就要降低系统速度、降低性能。
.NET工具箱外caching
.NET中有一个cache类,位于系统Web caching中,ASP.NET中每一个Web Form object都有一个叫做System.Web.Caching.Cache的cache,这是一个叫做item的默认参数化设置。Item会接收很多参数已确定对象已被插入或提出。
问题
的关键是确定了cache数据。在下面的例子中,关键值“Alphabet”定义了一个可以放在cache中的长量。利用关键值可以从cache中恢复长量。
在这种情况下,记住MyClass代表Web Form object
就象例子中看到的那样,Cache object有item特性。这一特性是object的默认性质,因此在代码中可以省略。但是这种情况是还存在一定危险性。
点击这里
可以看到代码中的一些默认设置。
如果想要选取捷径,可以减少代码:
MyClass.cache(“Alphabet”) = s
编辑器认为这些代码都是默认值设置,也就是值为“default”。
一旦这些长量放到cache中,就可以得到下面的值:
s = MyClass.cache (“Alphabet”)
如果想用Web Form外面的值,就可以设置一个新的cache对象,如果正在使用Visual Studio.NET的RTM 版本(Manufacturing 或 Commercial Release),可以用下面的设置:
c = new System.Web.Caching.Cache()
创建完cache之后,就可以使用insert或add命令为其设值,当然,也可以利用get命令从cache中恢复对象。
创建自己的cache
也许你担心使用微软的cache会降低系统性能,或者你
需要
某一关键类型的cache而不是一个长量。(这一限制是System.Web.Caching object的一个缺陷),或者你只是出于好奇想做个试验。
不管什么原因,你就是想创建自己的.NET cache。首先来看看如何创建最基本的、能够存储某些值的cache。在下面的部分里,将要解释一些最基本的cache,同时清除一些不必要的功能。
要创建自己的cache,首先要了解一下HashTable object。HashTable是System.Collections namespace中的一个collections对象,从概念上来理解,object就像是一个档案柜,你可以把object放在档案柜中,同时也可以按类别把它们重新恢复回来。Hashtable object允许object插入和恢复。
现在可以定义一个名为CustomCache的新的类,采用HashTable来存储objects并把它放到cache中,CustomCache有两种方式:名为insertCachedObject的子程序和名为getCachedObject的函数。插入法可以有两个参数:key和object,getCachedObject却只能有一个参数:key(见
Listing A
)。
CustomCache object中定义了表A所要求的代码:创建CustomCache object并优先使用它。如果只想创建单一模式的cache,也就是所有的代码都能采用同一cache,那么就可以改变
Listing B
中的object。
注意Listing B中在Hashtable前增加共享关键字,比如增加一些方法和构造器。可以增加第二个private构造器来防止代码创建CustomCache object。现在所有的代码都共享一个HashTable类而无需创建一个CustomCache。就像Java中静态关键字一样,共享关键字也发挥同样的功能,.NET中的共享构造器与Java中的静态模块一样。
Listing C
中的例子是一个采用CustomCache来存储和恢复长Alphabet量的程序。
现在一个简单的cache已经完成了。它不能提供在一段时间后自动终止item的功能,同时它也不能实现跟踪最近使用的objects、caching以及其他使用数据,但是这只是一个起点。在以后的
文章
中,我们会进一步讨论这一问题以及.NET其它的cache功能。
【
文章评论
】 【
收藏本文
】 【
推荐好友
】 【
打印本文
】 【
论坛讨论
】
相关文章:
·
《C# vs.VB.NET:Choosing Your .NET Tool
·
ASP.NET开发简明手册
·
让JSP与ASP.Net共享Session值
文章评论:
(条)
请留名:
匿名评论
点击查看所有评论
网管论坛
责任编辑:
一分
声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。