发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

bang能否介绍一下在实际系统中,该如何对cache的数据进行集中管理

    
2005-08-02 21:30
赞助商链接

注:cache的数据应该包含不变的和比较少变动的。比如象一些权限信息,角色,功能项等。

2005-08-03 09:25

我指的是业务逻辑上的数据cache,比如权限中的功能项,菜单项,角色及角色和功能、菜单之间的对应的数据,再比如部门数据的cache.

我的做法是,没有象spring 提出的那种由一个存储在servletcontext的cacheManager来对cache的数据对象进行集中管理(它是不是这样提的?我倒有点忘记了)。主要是感觉这样每次都得先对数据取出来,再cast,比较麻烦。我一般做法是针对各个模块,比如权限,部门等各写几个DataKeeper类,以static方法发布存取数据的接口。但这些static只由service层的组件调用,web层只能通过service来调用这些数据。
但感觉这样一个系统通常会有10几个DataKeeper类甚至更多。而且更新cache数据的时候需要一个个去更新(这个不知道有没有好的解决方法,我的想法是针对数据操作方法以aop方式更新各个dataKeeper)。总之就是觉的不妥当。

2005-08-03 17:12

你应该将这些static类变成非static, 放入Ioc容器中,如Spring或Jdon,你将容器看成是一个集中管理的入口,客户端可以通过容器获得到你这10多个DataKeeper。这是Ioc容器主要优点。

缓存     

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com