Cacheable Annotation 有什么用

问题描述 投票:0回答:1

有人可以解释一下两者之间的区别吗

com.googlecode.ehcache.annotations.Cacheable
org.springframework.cache.annotation.Cacheable

如果我把第一个替换为第二个,会有什么效果?

我在使用 spring 编码的 Web 服务中使用了

@Cacheable

@Cacheable(value = "policyCache") public ResponseEntity<ResponseVO> listById(@PathVariable(value = "id") )
    
spring ehcache
1个回答
1
投票
Spring 3 引入了一个新的缓存服务抽象层。这个想法是提供一组通用功能(主要是注释)来激活和管理缓存。 由于它只是一个抽象层,Spring 3 缓存仍然需要一个具体的实现才能工作。缓存实现的入口点是CacheManager接口。默认提供了 2 个 CacheManager 的具体实现: EhCacheCacheManager:EhCache的默认实现 ConcurrentMapCacheManager:使用 Java ConcurrentHashMap 作为缓存存储的默认实现。

通过使用 com.googlecode.ehcache.annotations.Cacheable,您可以立即依赖 ehCache 实现。

如果您使用 Spring 注解,如果您稍后想要更改缓存实现,则无需进行任何代码改编,因此我建议使用后者。

© www.soinside.com 2019 - 2024. All rights reserved.