共计 371 个字符,预计需要花费 1 分钟才能阅读完成。
最近了解到 SpringCache 这个组件,是用了 AOP 来消灭这样的 重复代码:
public V queryList(){if(Redis 缓存里有值){return 值;}else{
查数据库;
查询结果写入缓存;
}
}
使用 SpringCache 后,写法变成下面这样,与缓存打交道的代码就被放到运行时生成的代理类里去了:
@Cacheable
public V queryList(){查数据库}
}
看到这个组件的用法,我觉得很方便、灵活,我想请教的是,当工作中遇到类似需要写 / 封装组件的情况,应该怎么去思考,或者说解题框架是什么。
求大佬赐教!! orz
PS:没看到 SpringCache 前我也想过去消灭这种重复代码,但是我只知道一个很单一的目标:要把缓存相关操作提出来。关于怎么提、提完之后开发人员的使用方式 (上面的使用方式就是注解 @Cacheable) 完全没有思路。
正文完