关于.NET中的依赖缓存技术
好多时候的好多页面的数据是不需要你访问一次又在数据库读取的,只在数据库的数据改变了才重新读取的或者到了缓存的时间了才重新缓存数据的,这样会提高访问速度!
关于.NET中的依赖缓存技术的操作:
演示数据库:MyCacheDB 表:OlympicGolds 开发工具:SQL Server 2005 ,Visual Studio 2008
做依赖缓存的准备工作: 打开VS08的命令提示窗体 然后敲如下命令符:
cd\ aspnet_regsql -S . -U sa -P 123sa -d MyCacheDB -ed aspnet_regsql -S . -U sa -P 123sa -d MyCacheDB -t OlympicGolds -et
这里面的几个字符的含义:
S代表:服务器地址
U代表:登录的用户角色
P代表:用户登录密码
d代表:所连接的数据库
t代表:所依赖的表
ed代表:为sql缓存依赖项启用该数据库
et代表:为sql缓存依赖项启用该表 当这两句话执行完时你去刷新MyCacheDB数据库时你会发现多了一张表,
叫AspNet_SqlCacheTablesForChangeNotification 里面有三列:
tableName、notificationCreated、changeId 里面有一条数据:
tableName:OlympicGolds, notificationCreated:但是执行语句时的时间,
changeId:默认为0 然后就可以在Visual Studio 2008里面操作了 首先在wen.config里面配置,具体如下:
1 </configuration> 2 <connectionStrings> 3 <add name="MyCacheString" connectionString="server=.;database=MyCacheDB;uid=sa;pwd=123sa"/> 4 </connectionStrings> 5 <system.web> 6 <caching> 7 <sqlCacheDependency pollTime="3000"> 8 <databases> 9 <add name="MyCacheDB" connectionStringName="MyCacheString"/> 10 </databases> 11 </sqlCacheDependency> 12 </caching> 13 </system.web>
然后就可以在页面上的注册使用了,如下: <%@ OutputCache Duration="30" VaryByParam="none" SqlDependency="MyCacheDB:OlympicGolds" %> 加上这句话就可以实现依赖缓存了,当你不改变数据库的数据时它就会在它有效时间使用缓存, 然而当你一旦修改数据库的数据时它就会立即重新读取数据!并且会把数据库AspNet_SqlCacheTablesForChangeNotification这张表中的 changeId的值改为1 还有什么不懂的欢迎来问!