【发布时间】:2014-09-12 22:32:52
【问题描述】:
您好,我在尝试缓存列表函数的结果时遇到问题 当我第一次调试它时,第二次调用该函数时,缓存什么也不返回一个空列表 我还尝试添加 key="'all'" 和方法名称,但什么也没回来
@Override
@Cacheable(value = "categories" )
public List<Category> getCategories() {
// TODO Auto-generated method stub
LOG.info("start getCategories");
return repository.findAll(); //
}
@Configuration
@EnableCaching
public class CachingConfig implements CachingConfigurer {
@Bean(destroyMethod="shutdown")
public net.sf.ehcache.CacheManager ehCacheManager() {
net.sf.ehcache.config.Configuration config = new net.sf.ehcache.config.Configuration();
CacheConfiguration cacheConfigurationCategories = new CacheConfiguration();
cacheConfigurationCategories.setName("categories");
cacheConfigurationCategories.setMemoryStoreEvictionPolicy("LRU");
cacheConfigurationCategories.setMaxEntriesLocalHeap(100);
cacheConfigurationCategories.setMaxElementsOnDisk(100);
config.addCache(cacheConfigurationCategories);
return net.sf.ehcache.CacheManager.newInstance(config);
}
@Bean
@Override
public CacheManager cacheManager() {
return new EhCacheCacheManager(ehCacheManager());
}
@Bean
@Override
public KeyGenerator keyGenerator() {
return new SimpleKeyGenerator();
}
}
【问题讨论】:
-
代码看起来没问题,因此 repository.findAll 没有返回任何内容,或者您的缓存配置错误。
-
嗨添加了我的缓存配置