继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

谈谈AOP在缓存设计上的应用

0xcaffebabe
关注TA
已关注
手记 43
粉丝 10
获赞 21

我们知道,AOP所体现的,就是一种拦截放行的思想,底层是基于JDK或CGlib的动态代理实现的,其应用场景非常多:日志记录、权限控制,事务管理以及今天所要说的缓存。

5bcddef80001b1bf06290467.jpg

上图就是代理对象与真实对象之间的关系,外界通过代理对象与真实对象进行交互,对于外界来说,代理对象就是它所需要的真实对象,外界不关心它真正是谁,只要提供它所需要的接口即可。

那么,我们是否可以在代理对象与真实对象之间的通道中,加入一个中间层,来实现缓存?

5bcddef80001c86008890508.jpg

或许叫法并不准确,但我们可以通过这个中间层,记录参数与结果的映射关系,并存储在主存中,这样对于一些计算代价大的场景可以显著提升性能。

但,缓存的有效期怎么办?缓存在何时才应该进行刷新,这是个令人头疼的问题’,或许这点,我们可以从mybatis中找到答案,相关内容将在以后的文章深入说明。


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP