public V queryList(){
if(Redis 缓存里有值){
return 值;
}else{
查数据库;
查询结果写入缓存;
}
}
使用 SpringCache 后,写法变成下面这样,与缓存打交道的代码就被放到运行时生成的代理类里去了:
@Cacheable
public V queryList(){
查数据库
}
}
看到这个组件的用法,我觉得很方便、灵活,我想请教的是,当工作中遇到类似需要写/封装组件的情况,应该怎么去思考,或者说解题框架是什么。
求大佬赐教!! orz
PS:没看到 SpringCache 前我也想过去消灭这种重复代码,但是我只知道一个很单一的目标:要把缓存相关操作提出来。关于怎么提、提完之后开发人员的使用方式(上面的使用方式就是注解 @Cacheable)完全没有思路。
感觉问题问的太宽泛了,不明确,简要来说就是想请教大家在工作中写组件的思路是什么
比如:
1.确定现有痛点 与 组件可以提供的能力
2.确定方便的使用方式
3.分析组件里有些哪些角色(Cache 、CacheManager) 可以用哪些合适的设计模式