DMSFrame 之SqlCacheDependency(一)】的更多相关文章

上篇文章介绍的是通知模式的缓存机制,这里介绍的是数据库轮循模式处理,这种模式对SQL2005以下的支持还是比较好的 引擎源码如下: /// <summary> /// 轮循模式 /// 数据库缓存通知模式 /// 1.SELECT DATABASEPROPERTYEX('DATABASENAME','IsBrokerEnabled') 1 表示启用,0表示未启用 /// 2.启用IsBrokerEnabled /// ALTER DATABASE [DATABASENAME] SET NEW_…
1.SqlCacheDependency都是我们常用的一种Cache写法了.对后面的SQL 2005算是比较成熟的一种缓存模式了,这里介绍一下DMSFrame的SqlCacheDependency是怎么使用的 DMSFrame已内置MSSQL的通知模式(MSSQL2005以上,含2005)和轮循模式(MSSQL2005以下)的缓存写法. 查看数据库是否支持通知模式 表示启用,0表示未启用 启用IsBrokerEnabled ALTER DATABASE [DATABASENAME] SET NE…
上次说了下DMSFrame的一些查询方式,之前也有好多朋友问了下这个ORM与EF有什么样的区别. 要论区别,我自己也总结了几点.如果有其它朋友知道的,可以回复补充下. 1.不需要编辑的时候需要再次查询数据库,可以直接根据条件去更新. 2.支持分布式数据库,可以在实体上定义数据库,甚至可以在代码上定义数据库.这点好像EF是做不到的 3.支持多种数据库,只需要修改配置就好. 继续我们开发之旅吧.. var user = DMS.Create<Adm_User>() .OrderBy(q =>…
1.DMSFrame是一个完整的ORM框架,框架相对来说也比成熟了.使用上有些地方还是比较方便的.DLL文件大约300K左右,但却可以支持各种方式的查询,完全的LINQ化的方式书写代码,更有利于维护. 2.框架完全支持调试时生成的SQL语句跟踪,你可以很清晰地看出是哪里的写法出了问题. 3.框架附加了完全支持查询SQL的写法.更有效的解决复杂的SQL的问题 先上代码尝尝先吧: 1 var query = DMS.Create<Adm_User>().Where(q => q.UserID…
Sql server 7.0/2000下 SqlCacheDependency使用轮询的方式进行缓存失效检查, 虽然ms说对服务器压力不大, 但还是有一些的, 而且对于不常改动的混存内容无休止的轮询感觉有点浪费, 不很经济. Sql server 2005/2008下增加使用查询通知方式进行缓存失效检查, 它通过Sql Server内部的消息队列进行异步通知, 这样就大大减轻了服务器的压力, 实现的很经济, 下面就是具体的步骤: 1.检测是否已经启用Service Broker Select D…
Asp.net 2.0 提供了一个新的数据缓存功能,就是利用sql server2005 的异步通知功能来实现缓存 1.首先在sqlserver2005 中创建一个test的数据库. 在SQL Server 2005上执行 ALTER DATABASE <DatabaseName> SET ENABLE_BROKER;语句让相应的数据库启用监听服务,以便支持SqlDependency特性. 添加一个 employee的数据库表. 1CREATETABLE[dbo].[employee](2[i…
前言 本文主要是对<ASP.NET 2.0开发指南>——<数据缓存>章节内容的提取并略有补充. 参考资料 1.     <ASP.NET 2.0开发指南> 2.     .NET 2.0 SqlDependency快速上手指南 支持数据库 SQL SERVER 7.0/2000/2005版本 正文 一.SQL SERVER 7.0/2000和SQL SERVER 2005的简介及比较 1.1     SQL SERVER 7.0/2000 SQL SERVER 7.0/…
SqlCacheDependency可以使缓存在数据库或者数据库某张表或者字段变化后让指定缓存失效.对于一些需要及时显示的信息比较有用. 需要.net2.0以后设sql server2005及以后版本支持. 首先配置web.config <system.web> <caching><sqlCacheDependency enabled="true" pollTime="5000"><databases><add…
第一步 修改web,config <!--定义数据库连接--> <connectionStrings>  <add name="NorthwindConnectionString" connectionString="Server=USERRYRDB;Database=Northwind;UID=sa;pwd=密码" providerName="System.Data.SqlClient"/> </con…
最近项目需要几秒就获取一次数据,查数据库服务器压力会很大,因此用缓存技术来缓解服务器压力. 使用SqlCacheDependency采用轮询的方式来获取缓存,SqlDependency查询通知的方式来更新缓存应该更好,先说轮询的方式吧. 配置文件如下: <configuration>  <system.web>    <compilation debug="true" targetFramework="4.5" />    <…