代码块1
@Cacheable(cacheNames = JSSDKAPP, key = "#accessToken")
public WeixinGetAppJsSdkResponseDto getApp(String accessToken) {
}
代码块2
@Cacheable(cacheNames = JSSDK, key = "#accessToken")
public WeixinGetJsSdkResponseDto get(String accessToken) {}
这两个获取的缓存居然相同,但实际想要的结果是不同,原因是redis是根据key来换取缓存,两个方法的参数相同,spring用参数为key,去获取redis中的缓存,结果就是相同的。
可以人为添加一个固定参数
String app="APP";
@Cacheable(cacheNames = JSSDKAPP, key = "#app+'-'+#accessToken")
public WeixinGetAppJsSdkResponseDto getApp(String accessToken,String app) {}