缓存依赖实现类,属于表示层。那你是否知道ICacheDependency这个项目的作用?
参考:
http://www.cnblogs.com/lovko/archive/2008/11/29/1343725.html
http://www.cnblogs.com/9who/archive/2008/09/20/1294544.html
我只简单打个比喻。
缓存
当大量用户访问你网站的某个网页时,为了提高其响应速度,我们通常会将页面数据放到缓存中,而不必针对每个请求都让服务器去数据库中提取数据。
缓存依赖
其实我们很多时候并不能保证实际数据与放到缓存中的数据时刻都保持一致,用户某个时刻看到的数据可能是旧的,为了解决此问题,也就出现了缓存依赖。即一旦实际数据发生变更,则立刻更新缓存中的数据。那么我们凭借什么来判断实际数据发生了变更呢,也就是依赖什么来判定呢?比如我在实际的数据表建个增删改触发器,一旦有上述操作,就更新缓存。其实缓存依赖的目的就是为了使实际数据和缓存中的数据保持同步。
至于petshop4我没看过,我以前看过petshop3,petshop3印象中好像只支持SQL SERVER的缓存依赖,并不支持ORACLE(我们公司一直用ORACLE),印象中应用依赖时好像通过工厂模式以及反射,也很有意思,你可以自己看看。