为了账号安全,请及时绑定邮箱和手机立即绑定

javaweb项目,如何封装redis缓存?

javaweb项目,如何封装redis缓存?

鸿蒙传说 2019-04-14 11:28:41
需要达到的效果是:Service调用DAO,如果缓存中没有再去查数据库,最后把查询结构添加到缓存我的想法:Service处理业务逻辑,不应该知道数据从何而来,也就不能直接操作缓存操作缓存的对象应该也是一个DAO层对象,但是操作数据库的对象也是DAO层的对象,把操作数据库的逻辑和操作缓存的逻辑放到一次看上去并不大好,而且如果用mybatis作为orm,dao层基本插不进缓存的代码。那么问题来了:这个缓存应该用什么姿势封装起来?
查看完整描述

1 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

Spring提供了一套关于缓存的标准,可以支持很多种类型的缓存
这里有一篇文章:基于Spring的Web缓存,里面讲了几种不同层次的缓存,应该可以解决你的问题
                            
查看完整回答
反对 回复 2019-04-14
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

service层为什么不应该知道数据从哪来?我们项目中用到的redis的缓存是这样实现的,在Interceptor中拦截关键的访问信息然后缓存,在service操作缓存也只是取缓存中的内容。当然有些情况是更新数据库内容之后需要涉及更新缓存,自然也是需要在service中重新设置缓存的。操作缓存肯定是不能在dao层去做的。
                            
查看完整回答
反对 回复 2019-04-14
  • 1 回答
  • 0 关注
  • 391 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号