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

2018/10/23

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

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

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

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

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

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

Post Directory