当前位置:编程学习 > C#/ASP.NET >>

SQL2005+.net2.0+三层结构+数据库缓存依赖--问题

我想请问下数据库的缓存依赖对象在哪个层创建。
然后缓存在哪个层建立。
如果有示例更好。
现在我对数据库缓存依赖也只有一点点了解
能够使用
但是在使用三层时,很纠结SqlCacheDependency在System.Web下面
如果要在DAL层建立的话需要引入System.Web那个dll.
所以我很纠结 --------------------编程问答-------------------- 可以放在业务层进行缓存.
根据职责分配原则:
数据层只需要完成数据操作就可以,不适合缓存.
界面层只需要显示和交互,也不适合缓存.
当然你也可以增加一个层,专门做缓存功能.业务层去调用缓存层.

下面就是关键问题:当数据缓存了的话怎么在更新之后读取出来是最新的?
可以在业务层对数据做了:"修改","删除"操作之后,主动通知缓存层去更新缓存.
按这个思路去实现可能代码复杂些,但思路应该是可行的. 

--------------------编程问答-------------------- 这个比较给力 --------------------编程问答-------------------- 放DB层也可以。最好还是放在业务层吧。
--------------------编程问答-------------------- 业务层吧 --------------------编程问答-------------------- 业务层 --------------------编程问答-------------------- 各位我用的数据库缓存依赖重在这个依赖上
数据库数据更新,他会“推”出更新的数据,以达到自动更新缓存的作用
SqlCacheDependency这是数据库缓存依赖对象的类
它的实例对象的构造函数有两个重载。一个是SqlCommand对象,
另一个重载是需要在Web.config中配置的。
如果用第一个重载。就法获得那个SqlCommand的对象
如果用第二个重载的话,我没用过。不知道有没有朋友会用 --------------------编程问答-------------------- 还有啊 ,用了缓存依赖
不是简单的缓存。如果只是用缓存的话,还要轮询数据库看数据库中数据是否更改吧! --------------------编程问答-------------------- 往上顶啊!!!!!!!!! --------------------编程问答--------------------
引用 7 楼 chenlanglin 的回复:
还有啊 ,用了缓存依赖
不是简单的缓存。如果只是用缓存的话,还要轮询数据库看数据库中数据是否更改吧!


可以仔细研究一下#2楼引用的文章。不需要任何数据库参与,从系统的业务层处理,当某些数据被修改时,就通知所有相关的业务层查询的缓存清理;当业务层查询进行计算时(不管是否访问了数据库),就把结果缓存起来。

注意,没有使用数据库依赖。 --------------------编程问答-------------------- 客户端软件设计的核心是界面和交互操作,而分层架构强调界面与业务层的分离,基本上这两层中考虑好缓存就可以架构一个比较通用的“Total Solution”式的解决方案了,数据库层不再考虑需要其支持缓存依赖。 --------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,