C#如何使用SqlCacheDependency
1、数据库依赖类SqlCacheDependency
数据库缓存依赖主要解决的是当数据库的内容发生改变时,如何及时通知缓存,并更新缓存中的数据的问题。
语法定义:
SqlCacheDependency类主要的构造函数如下:
public SqlCacheDependency(string database,string table)
使用之前需要先配置web.config,加入如下节点。
<connectionStrings>
<add name="DBConfig" connectionString="......"/>
</connectionStrings>
<system.web>
<caching>
<sqlCacheDependency enabled="true" pollTime="5000">
<databases>
<add name="DispatchAssist" connectionStringName="DBConfig" />
</databases>
</sqlCacheDependency>
</caching>
</system.web>
2、注册
打开VS命令提示工具,执行如下格式命令。
有身份验证输入:aspnet_regsql.exe -S SqlServer服务器 -U <Username> -P <Password> -ed -d 数据库名称 -et -t 表名
无身份验证输入:aspnet_regsql.exe -S SqlServer服务器 -ed -d 数据库名称 -et -t 表名
以下是该工具的命令参数说明:
-? 显示该工具的帮助功能;
-S 后接的参数为数据库服务器的名称或者IP地址;
-U 后接的参数为数据库的登陆用户名;
-P 后接的参数为数据库的登陆密码;
-E 当使用windows集成验证时,使用该功能;
-d 后接参数为对哪一个数据库采用SqlCacheDependency功能;
-t 后接参数为对哪一个表采用SqlCacheDependency功能;
-ed 允许对数据库使用SqlCacheDependency功能;
-dd 禁止对数据库采用SqlCacheDependency功能;
-et 允许对数据表采用SqlCacheDependency功能;
-dt 禁止对数据表采用SqlCacheDependency功能;
-lt 列出当前数据库中有哪些表已经采用sqlcachedependency功能。
3、实例示范
private readonly static string ALlRoleCacheKey = "ALlRoleCacheKey";
public List<UserRole> GetAllUserRole()
{
try
{
List<UserRole> list = CacheHelper.Get<List<UserRole>>(ALlRoleCacheKey);
if (list == null)
{
list = _provider.GetAllUserRole(); //获取list数据源
System.Web.Caching.SqlCacheDependency dependency = new System.Web.Caching.SqlCacheDependency
(System.Configuration.ConfigurationManager.AppSettings["CurrentDB"], "UserRole");
CacheHelper.Insert(ALlRoleCacheKey, list, dependency);
}
return list;
}
catch (Exception e)
{
Logger.Error("AuthManager. GetAllUserRole() ", e);
return null;
}
}
C#如何使用SqlCacheDependency的更多相关文章
- DMSFrame 之SqlCacheDependency(二)
上篇文章介绍的是通知模式的缓存机制,这里介绍的是数据库轮循模式处理,这种模式对SQL2005以下的支持还是比较好的 引擎源码如下: /// <summary> /// 轮循模式 /// 数 ...
- DMSFrame 之SqlCacheDependency(一)
1.SqlCacheDependency都是我们常用的一种Cache写法了.对后面的SQL 2005算是比较成熟的一种缓存模式了,这里介绍一下DMSFrame的SqlCacheDependency是怎 ...
- 【缓存】Sql Server 2005/2008 SqlCacheDependency查询通知的使用总结
Sql server 7.0/2000下 SqlCacheDependency使用轮询的方式进行缓存失效检查, 虽然ms说对服务器压力不大, 但还是有一些的, 而且对于不常改动的混存内容无休止的轮询感 ...
- cache应用(asp.net 2.0 SQL数据缓存依赖 [SqlCacheDependency ] )
Asp.net 2.0 提供了一个新的数据缓存功能,就是利用sql server2005 的异步通知功能来实现缓存 1.首先在sqlserver2005 中创建一个test的数据库. 在SQL Ser ...
- SQL数据缓存依赖 [SqlServer | Cache | SqlCacheDependency ]
前言 本文主要是对<ASP.NET 2.0开发指南>——<数据缓存>章节内容的提取并略有补充. 参考资料 1. <ASP.NET 2.0开发指南> 2. ...
- 使用SqlCacheDependency依赖项让数据库变化后缓存失效
SqlCacheDependency可以使缓存在数据库或者数据库某张表或者字段变化后让指定缓存失效.对于一些需要及时显示的信息比较有用. 需要.net2.0以后设sql server2005及以后版本 ...
- sqlCacheDependency 更新缓存Cache
第一步 修改web,config <!--定义数据库连接--> <connectionStrings> <add name="NorthwindConnect ...
- SqlCacheDependency的使用
最近项目需要几秒就获取一次数据,查数据库服务器压力会很大,因此用缓存技术来缓解服务器压力. 使用SqlCacheDependency采用轮询的方式来获取缓存,SqlDependency查询通知的方式来 ...
- asp.net mvc5中使用缓存依赖SqlCacheDependency
缓存是用来提高应用性能,降低服务器压力.适用于数据不易变,数据易通用的情景, 对于动态查询数据,例如数据分析,最好放弃使用缓存.使用缓存最麻烦的就是保持源数据和缓存的中的数据一致. 缓存(Cache) ...
随机推荐
- 063、如何使用weave网络(2019-04-03 周三)
参考https://www.cnblogs.com/CloudMan6/p/7471162.html weave是Weaveworks开发的容器网络解决方案.weave创建的虚拟网络可以将部署在多 ...
- 【转载】RPG颜色参考表
https://blog.csdn.net/a949308398/article/details/17013087
- Left join update和 ROW_NUMBER
(1)Left join 更新update a set a.name=b.name from a left join b on a.id=b.stuid(2)ROW_NUMBERselect ROW_ ...
- system("x")
system("pause");和system("cls")使用示例程序 #include "stdio.h" #include " ...
- solr与tomcat集成
1.准备tomcat8.solr6.solr-home 注意,如果用tomcat7或者之前的版本,因为jar包版本缘故,会出现java.lang.NoSuchMethodError 错误 解压tomc ...
- Andrew NG 机器学习编程作业6 Octave
问题描述:使用SVM(支持向量机 )实现一个垃圾邮件分类器. 在开始之前,先简单介绍一下SVM ①从逻辑回归的 cost function 到SVM 的 cost function 逻辑回归的假设函数 ...
- web api 过滤器
/// <summary> /// 渠道过滤器 /// </summary> [AttributeUsage(AttributeTargets.Class | Attribut ...
- oracle 远程连接不到dba用户
如果要远程连接192.168.10.44上的oracle,那么192.168.10.44服务器必须启动TNSListener.(配置文件 listener.ora) http://www.111cn. ...
- 第21月第7日 数据结构 b+树
1.B+树 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等. http://blog.codingla ...
- java 基础 浮点类型
1.浮点类型用于表示小数的数据类型. 2.浮点数原理:也就是二进制科学计数法. 3.Java的浮点类型有float和double两种. 4.Java默认浮点类型计算的结果是double类型,字面量也是 ...