【发布时间】:2017-10-31 03:46:51
【问题描述】:
我在缓存组件时使用KeyGenerator 生成自定义密钥。
这是可缓存的方法:
@CachePut(value = "cacheOne", keyGenerator = "keyGenerator")
public CachedObject cacheMeta(final Object obj1,
final Object obj2,
final CachedObject cachedObject) {
return cachedObject;
}
这里是KeyGenerator 的实现:
public Object generate(Object o, Method m ,Object ... params){
StringBuilder s=new StringBuilder();
return s.append(params[0].hashCode()).append(params[1].hashCode());
}
在从缓存中检索值时,我正在生成密钥:
StringBuilder s= new StringBuilder();
s.append(obj1.hashCode().append(obj2.hashCode()));
Element elt=CacheManager.getInstance("cacheOne").get(s)
但它总是返回 null。
【问题讨论】:
标签: spring ehcache spring-cache