你的位置:睿鑫网络 >> 编程 >> web开发 >> ASP.NET >> 详细内容 在线投稿

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

排行榜 收藏 打印 发给朋友 举报 来源: 网络   发布者:未知
热度10票  浏览21次 时间:2010年1月15日 10:55
睿鑫网络O'\ ax jLK5e@

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

睿鑫网络,q{(Y _ HHB"Q

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

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

:wU)t)sG01、在.net framework 2.0的安装目录下

)e {3` u1b0

!C"zh)i4Ee2Z0(默认是WINNT\Microsoft.NET\Framework\v2.0.40607),启动一个叫aspnet_regsql.exe的命令行工具,比如:睿鑫网络E#` B'xP)sI

v6vM5_#Pb*WG1C:C8L0aspnet_regsql -S localhost –U sa –P 123456 -d Pubs –ed

I8\"q~yvd0

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

Aut L sKOU0

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

vGu X)_P:f0

#P*A7[ [%Sy ]P v0aspnet_regsql -S localhost –U sa -P 123456 -ed -d pubs -et -t authors睿鑫网络5ghLZC$\#i

睿鑫网络 FxroK,n9zVM

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

^7a.c`~2y0

gO&P6@N5b ]X0参数睿鑫网络)yomVi!~.a _&qP

;\#ex }+\.r*Q d{V r0参数意义睿鑫网络;T+S$gGH

睿鑫网络E"\tS*A{(g4cL5H8w

-?

;?*?~"u L6\0 睿鑫网络}(Z)GB)~,Kn

显示该工具的帮助功能.睿鑫网络(z]1^)B4l

睿鑫网络#w'_zRBxr]?

-S睿鑫网络Cf'|+@r5H|&\t5ra

睿鑫网络}Zy^5c:np

后接的参数为数据库服务器的名称或者IP地址

5Hv8C0J1{]_a0

PC1x$Lf0-U

/Et'r%d4b0 睿鑫网络)F[rhwsUv

后接的参数为数据库的登陆用户名.睿鑫网络8kFI4jz7g5Y

睿鑫网络{/Pf!F4e:I

-P睿鑫网络4u n4QA&v)Q{zz

睿鑫网络8k)~ ~7c xF1]*~

后接的参数为数据库的登陆密码睿鑫网络({R$[OZQK;u

睿鑫网络"qT#N wE2x W

-E

-B{'}Q&|8I#? n0 睿鑫网络h(F:fw G}4T

当使用windows集成验证时,使用该功能

bt\\C1E`0

BLKp+w!e5?\c0-t睿鑫网络&}TM$sJ1nh4G9g

睿鑫网络%u&B^/dD3SS+?7z

后接参数为对哪一个表采用sqlcachedependency功能。

%v O`&g(S'v0 睿鑫网络]'m.o-o&Nu

-d睿鑫网络 nY8[)G&Z E

睿鑫网络}ow2o0z#f%rG

后接参数为对哪一个数据库采用sqlcachedependency功能睿鑫网络%[`2NO U[G6MUy

睿鑫网络8JO(DGzq!|7d

-ed睿鑫网络 BC'A1c` Df)F

睿鑫网络/f\fofS

允许对数据库使用sqlcachedependency功能睿鑫网络:s7bJ5W3b0j

8iL/\9H'f.tf C b M0-dd

d-IK6P*[0 睿鑫网络8C\/ao/x:s h7[

禁止对数据库采用sqlcachedependency功能睿鑫网络0V5w*m8~8`^r

8@7Y#wkb0-et

0fA!QIV TR0

K![qm&J[J.P0允许对数据表采用sqlcachedependency功能睿鑫网络*Z`/J @i'eCD

Nd'OnjP1u Z2d0-dt

#gw8G:^6d:@+kE,W,?0 睿鑫网络%i$t/|"K+Ls@F l?

禁止对数据表采用sqlcachedependency功能

3U'm_ v:qAvvK0

6Gx`P3Y0-lt睿鑫网络5h3gF|q h7jz}3X

1YyL2TGbF:nM0列出当前数据库中有哪些表已经采用sqlcachedependency功能睿鑫网络d4GG8|wx

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

G$`pNQ2G'|0

4M-zs4F(V7u(Ui2^0

jO\ h^%~ Z;G4b0
上一篇 下一篇

网络资源