您好我需要帮助我是新手来缓存数据。我在使用xml配置的spring应用程序中使用ehcache,我想在不同的方法上使用不同的键来查找相同的记录。假设,一个方法注释如下:
@Cacheable(value="getCustomerByAreaId",key="T(java.lang.String).valueOf(#areaid)")
public List<Customer> getCustomerByAreaId(String areaid) {
//code
return customerList;
}
它将返回具有相同区域ID的所有客户。此列表将存储在缓存中,因为每个客户都有唯一的客户ID。我可以使用某种机制根据客户ID从cache = getCustomerByAreaId获取单个客户记录。
@Cacheable(value="getCustomerByAreaId",key="T(java.lang.String).valueOf(#customerId)")
public Customer getCustomerById(long customerId) {
// code
return customer;
}
我知道如果我像这样制作密钥,它将使用新密钥在缓存(getCustomerByAreaId)中输入新记录。 相反,我想从已经缓存的列表中获取记录。
如果可以,我可以使用xml或java。
我正在使用ehcache 2.5版。
答案 0 :(得分:0)
仅使用Ehcache API或Spring的缓存抽象是不可能的。
如果你想实现这个目标,你必须编写自己的逻辑来缓存列表,还要单独缓存它的元素。