今天用ehcache缓存数据,但是我传了多个参数进去,这是我想缓存的key 是几个参数组合起来,但是默认规则不是这样,so,自定义key吧 这类举例用Cacheable注解,其他几个注解同理
示例
// @Cacheable(value = CacheConstant.EcacheName.STORE_CACHE,key = "'class'.concat(#p0)")
@Cacheable(value = "cachename",key ="#p0.concat(#p1)" ) // 缓存的key就是 id 和storeID 连接到一块
@Override
public String getStoreName(String id, String storeId) {
//
}
当然对象也是可以的哦,p0就是第一参数,p1第二个参数
@Cacheable(value = "cache",key ="#p0.getId().concat(#p1)" )
public String getStoreName(BaseUser baseUser, String storeId) {
return null;
}
so,问题解决了。这里面是用的Spel表达式,有兴趣的或者需要这样不够用的可以去了解下
此外,看了下注解源码了还有个
keyGenerator(),看说明应该和key() 差不多。