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) ...
随机推荐
- python模块之hashlib
摘要算法 1. 摘要算法又称为哈希算法.散列算法,是通过函数将任意长度的数据转化成固定长度的数据串(通常用16进制的字符串表示). 2. 摘要算法将通过摘要函数f()将数据转化成固定长度的摘要(dig ...
- svn 在show log 时候出现 want to go offline
今天终于把SVN服务器给配置好了,可以正常显示log信息了. 这周以来一直都在想着怎样解决svn log 显示 no date 这一问题,一时间不知道是怎么回事,上网都没能找到很好的解决方法.今天在使 ...
- Linux C 编程
主题链接地址:https://www.cnblogs.com/kele-dad/category/1194627.html
- 【转】Parcelable, Serializable,Cloneable,copyProperties
Copying ... https://blog.csdn.net/max2005/article/details/78325036 存在着三件事,整理如下 Parcelable, Serializa ...
- TypeScript 快速学习
https://learnxinyminutes.com/docs/zh-cn/typescript-cn/ https://www.tslang.cn/docs/handbook/basic-typ ...
- HttpClient 测试web API上传文件实例
1.使用HttpClient 测试上传文件并且设置header信息: using Lemon.Common; using Newtonsoft.Json; using System; using Sy ...
- ArrayQueue的底层实现
package zy813ture; public class MyArrayQueue1 {//双向循环数组 private Object []obj; private int front; pri ...
- cocos2d 图片模糊
CCSprite texture setAliasTexParameters -->opengl 的功能 将图片柔化
- 迅为IMX6核心板兼容工业级、商业扩展级、Plus版本核心板
IMX6核心板兼容单核.双核.四核.工业级.汽车级.iMX6Q最新Plus版本,可根据用户需求更换,百变定制,高端产品无忧! iMX6Q核心板(四核商业级) iMX6DL核心板(双核商业级) iMX6 ...
- 函数语法:原生JS获取数组的索引值index
var lis = document.getElementsByTagName("li"); for(var i=0;i<lis.length;i++) { lis[i].i ...