【发布时间】:2012-12-25 17:43:47
【问题描述】:
我在 Spring 3.1 中使用 @Cacheable。我对 Cacheable 中的值和键映射参数有点困惑。 这是我正在做的事情:
@Cacheable(value = "message", key = "#zoneMastNo")
public List<Option> getAreaNameOptionList(String local, Long zoneMastNo) {
//..code to fetch data form database..
return list;
}
@Cacheable(value = "message", key = "#areaMastNo")
public List<Option> getLocalityNameOptionList(String local, Long areaMastNo) {
//..code to fetch data form database..
return list;
}
这里发生了什么,第二种方法取决于第一种方法的选定值, 但问题是假设当我通过 zoneMastNo = 1 和 areaMastNo = 1 然后第二种方法返回第一种方法的结果。 实际上,我有很多服务,因此我希望为特定用例使用可缓存的通用值。 现在我的问题是:
- 我该如何解决这个问题?
- 为每个服务使用可缓存是个好主意吗?
- 在指定时间后将缓存完全从内存中删除 使用 @CacheEvict 吗?
【问题讨论】:
标签: spring jakarta-ee caching ehcache