我们有了一个新项目,我将从一个需要实现缓存机制的部分开始。在做了一些研究之后,JCache似乎是一个显而易见的答案,但是Spring也有一个缓存机制。我们正在使用Spring (这肯定不会改变),所以如果它确保了更好的缓存机制,那么依赖问题就可以得到解决。
所以我的问题是,每个人的正反两方面是什么?与Spring的实现相比,JCache的特性是有限的吗?还是JCache现在被认为是新项目的前进方向?
发布于 2016-11-29 00:37:51
这不是vs的事。这是“和”的事。从手册 -
与Spring框架中的其他服务一样,缓存服务是一个抽象(不是缓存实现),需要使用实际存储来存储缓存数据--也就是说,抽象使开发人员不必编写缓存逻辑,但不提供实际存储。这个抽象由org.springframework.cache.Cache和org.springframework.cache.CacheManager接口实现。 这个抽象有一些现成的实现:基于JDK java.util.concurrent.ConcurrentMap的缓存、Ehcache 2.x、Gemfire缓存、咖啡因、Guava缓存和JSR-107兼容的缓存(例如Ehcache 3.x)。有关插入其他缓存存储/提供程序的更多信息,请参见第36.7节“插入不同后端缓存”。
例如,我将RedisCacheManager用于HTTP会话。
@Bean
public CacheManager cacheManager() {
Map<String, Long> cacheExpiration = new HashMap<>();
cacheExpiration.put(CACHE_RECOMMENDATION, ONE_HOUR);
RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate());
redisCacheManager.setExpires(cacheExpiration);
return redisCacheManager;
}https://stackoverflow.com/questions/34883421
复制相似问题