当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP.NET 2.0数据缓存功能简介

ASP
把HTML表单提交的数据转化成XML文件
全球IP地址查询完整版
一个把WORD转换成HTML的程序
天气预报的小偷,可以偷到全国24小时城市天气预报.
显示页面show.asp--基于web的QQ程序1
接收信息页面inform.asp--基于web的QQ程序2
发送信息页面send.asp--基于web的QQ程序3
关于客户端用ASP参生报表
关于客户端用ASP参生报表(高级篇)
利用ASP在线维护数据库
使用JScript.NET创建asp.net页面(一)
使用JScript.NET创建asp.net页面(二)
使用JScript.NET创建asp.net页面(三)
使用JScript.NET创建asp.net页面(四)
使用JScript.NET创建asp.net页面(五)
使用JScript.NET创建asp.net页面(六)
使用JScript.NET创建asp.net页面(七)
创建一个Web投票系统
W3 Jmail中文使用说明
bbs的数据结构和存储过程(一)

ASP.NET 2.0数据缓存功能简介


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 86 ::
收藏到网摘: n/a

在ASP.NET 2.0,新增加了不少新的功能和控件。其中,在数据的缓存功能,比asp.net 1.1有了很大的改变。众所周知,数据的缓存功能是十分重要的,我们可以把一些在相对一段时间内不发生改变的数据放在缓存中,这样,就不必要每次去读取数据库,当下次再需要这些数据时,可以直接从缓存中取得,大大增强了效率。

  而在asp.net 1.1 中,已经比较好地实现了数据的缓存功能,但有一个小问题,那就是如果数据库中的数据发生了变化,缓存不能在指定的时间内更新,而必须等到缓存失效。比如,在网页中,如果你对商品的一些详细信息,如价格等使用了页面缓存,那么假如在后台修改了这些信息,用户不会马上看到这些信息,而要延迟一些时间才看到。在某些应用场合,如果你要做到对于数据库的任何更新,都能马上可以在缓存的变化生效的话,在asp.net 1.1中则是比较难实现的,而在asp.net 2.0中,则可以很方便地实现该功能。本文将以.net Framework 2.0 beta,visual web developer express beta ,来介绍该功能的实现。

  首先,在asp.net 2.0中,针对sql server 7/2000,以及即将发行的sql server 2005(Yukon),分别提供了新的缓存功能。这里着重介绍针对sql server 7/2000的缓存功能。这个新的数据缓存功能,叫做SqlCacheDependency,要实现该功能,需要采用如下步骤:

  1、在.net framework 2.0的安装目录下
(默认是WINNT\Microsoft.NET\Framework\v2.0.40607),启动一个叫aspnet_regsql.exe的命令行工具,比如:

aspnet_regsql -S localhost –U sa –P 123456 -d Pubs –ed

  上面的意思是,指定了本地的数据库服务器localhost,并指定了登陆的用户名和密码,并用参数-d指定了要采用哪一个数据库(这里是指定了pubs)数据库,-ed参数表示是允许该数据库使用sqlcachedependency功能。

  接着,我们需要指定对哪一个表使用数据sqlcachedependency功能,如:

aspnet_regsql -S localhost –U sa -P 123456 -ed -d pubs -et -t authors

  上面语句的意思是,指定对pubs数据库中的authors表使用sqlcachedependency功能,-t参数后是表的名称,-et是允许该表使用sqlcachedependency功能。其他的有关参数简单介绍如下:

参数参数意义
-? 显示该工具的帮助功能.
-S 后接的参数为数据库服务器的名称或者IP地址
-U 后接的参数为数据库的登陆用户名.
-P 后接的参数为数据库的登陆密码
-E 当使用windows集成验证时,使用该功能
-t 后接参数为对哪一个表采用sqlcachedependency功能。
-d 后接参数为对哪一个数据库采用sqlcachedependency功能
-ed 允许对数据库使用sqlcachedependency功能
-dd 禁止对数据库采用sqlcachedependency功能
-et 允许对数据表采用sqlcachedependency功能
-dt 禁止对数据表采用sqlcachedependency功能
-lt 列出当前数据库中有哪些表已经采用sqlcachedependency功能

  Sqlcachedependency的的原理简单来说,是采用aspnet_regsql这个专门工具,预先设定要监视的数据库和表,并在数据库中增加一个专门的表,打开数据库,会发现多了一个数据表aspnet_sqlcachetablesforchangenotification,如下图:


  这个表有三个字段,“tableName”记录要追踪的数据表的名称,“notificationCreated”记录开始追踪的时间,“changeId”是一个int类型的字段,每当追踪的数据表的数据发生变化时,这个字段的值就加1。 此外还会在指定的数据库中增加几个存储过程,用来让ASP.NET引擎查询追踪的数据