以SQLServer2005为数据库的数据库缓存的实现

    SQL SERVER 2005内置支持SQL数据缓存依赖,内置通知传递服务,能够提供更小粒度的数据更改监测,使用和配置简单。使用方法和步骤如下:

    step1 检测是否已经启用Service Broker,检测方法:

        Select DATABASEpRoPERTYEX('数据库名称','IsBrokerEnabled')    -- 1 表示已经启用 0 表示没有启用

    step2  如果Service Broker没有启用,使用下面语句启用:

        ALTER DATABASE 数据库名称 SET ENABLE_BROKER;

    step3 在实现基于服务的SQL数据缓存依赖过程中,需要显式调用SqlDependency.Start来启动接受依赖项更改通知的侦听器。

        SqlDependency.Start(connectionString);  //推荐将这段代码加到Global.asax的Application_Start方法中

        SqlDependency.Stop(connectionString);   //用于关闭,可加在Global.asax的Application_End方法中

    step4  该步骤分别有两种不同的做法。该阶段必须注意步骤。

 

        方法A:建立连接对象,再创建一个SqlCommand实例,创建SqlCacheDependency实例,在这步之后再调用Command对象来获取数据(这个顺序很重要)。之后调用Cache的Insert语句建立一个依赖于一个具体查询数据集的Cache项。

        SqlConnection conn = new SqlConnection(strConnection);

        SqlCommand command = new SqlCommand(strCommandText, conn);

        SqlCacheDependency dependency = new SqlCacheDependency(command);

       

        // 注册方法到委托,该委托是

        CacheItemRemovedCallback onRemove = new CacheItemRemovedCallback(RemovedCallback);

 

        // 新增或修改一条缓存记录

        Cache.Insert(strCacheKey, objAppCache, dependency, absoluteExpiration, slidingExpiration, CacheItemPriority.Default, onRemove);

 

        方法B:建立连接对象,再创建一个SqlCommand实例,最后创建SqlDependency实例。定义SqlDependency的委托OnChange,当数据发生改变时做出相应的处理(比如清除Cache)。

        SqlConnection conn = new SqlConnection(strConnection);

        SqlCommand command = new SqlCommand(strCommandText, conn);

        SqlCacheDependency dependency = new SqlCacheDependency(command);

        dependency.OnChange += new OnChangeEventHandler(Dependency_OnChange);

 

        注意事项:

        不知道是不是还存在BUG,我在项目开发中遇到一些奇怪的现象。同样的代码,在有的机器上运行则能捕捉到变化,有的则完全没反应;也有时会出现Cache刚建立就反复发生依赖改变的事件。偶尔Cache还会数据发生变化却不引发事件。

 

        但从最终项目实施的情况看,似乎都只是某些机器环境造成的不确定因素?这个无法确定。不过起码数据库端是否正常启用,可以通过SQL Server Profiler来查看监视。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统介绍 如今是网络化的电子信息时代,在广阔的Internet网络中有各种各样的电子商城,它们可以使客户通过网络购物、浏览商品、查询订单和销售排行。通过对电子商务网站订购环境以及购物过程的调查研究,要求系统具有以下功能:  展示网站最新的商品信息。  展示网站特价的商品信息。  为用户提供修改个人资料和查看在网站操作情况的平台。  提供用户在网站上购物的平台。  展示网站发布的公告信息。  展示商品的销量排行。  展示网站的友情链接信息。  对商品详细信息以及分类信息进行管理。  对用户基本资料、交易制度、消费情况及留言信息进行管理。  对用户提交的订单进行管理。  对管理员信息、网站公告信息、商业资讯信息及友情链接信息进行管理。  系统运行稳定,具有强大的数据处理能力。 操作注意事项 (1)本系统的用户名为:tsoft,密码为:111 (2)tsoft管理员的信息不能删除。 (3)用户注册登录后,可进行商品购买、商品信息查看以及订单查询操作。 (4)单击网站首页左侧底部将会出现“进入后台”按钮,输入用户名和密码即可进入后台管理页面,如图1.1所示。 操作流程 1.前台 (1)用户注册登录后,对销售排行、新品上架及特价商品的详细信息进行查看、购买操作。 注意:如果你忘记注册的密码,本程序提供了找回密码的功能,根据提示操作可找回密码。 (2)单击“订单查询”导航按钮,可对已下的订单信息查询操作。 (3)单击“购物车”导航按钮,对购物车中的商品进行查询操作。 (4)单击“会员修改”导航按钮,对会员信息进行修改操作。 2.后台 所有前台的信息都在后台进行、添加、修改及删除等管理 (1)单击“商品设置”按钮,可对商品的大类别信息、商品小类别信息以及商品信息的添加、修改、删除及查询操作。 例如添加商品大类: ① 单击“大类别查询”按钮,如图1.2所示,进入大类别信息页面。 图1.2 选择“大类别查询” ②在该页面中单击“添加大类”按钮,如图1.3所示。进入大别类添加页面。 图1.3 选择“添加大类别” ③在“大类别名称”文本框中输入需要添加的类别信息,然后单击“确定”按钮,大类别信息添加完成。如图1.4所示。 图1.4 添加大类别名称 (2)单击“会员设置”按钮,对所有注册的会员信息进行查看以及删除操作。 (3)单击“后台管理员设置”按钮,可对管理员信息的添加、修改以删除操作。 (4)单击“订单设置”按钮,查询订单是否出货及删除操作。 (5)单击“公告设置”按钮,对公告信息的添加、修改、查询以及删除操作。 (6)单击“友情设置”按钮,对网站名称、网址等信息进行添加和删除操作。 (7)单击“安全退出”按钮,退出后台管理页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值