java - 主要优点/区别是什么 [ spring-cache vs plain map caching ]

标签 java spring spring-boot caching spring-cache

所以我最近在我的服务中添加了一些 spring-cache 的使用,我看得越多,我就越觉得它限制了我能做的事情。

我的初步印象是它的代码量较少,我不必编写那么多代码。这是一个优点。

缺点是我无法控制缓存的内容、Id 的使用、传递给 saveAll 等方法的实体集合以及执行更复杂查询的一些方法。

当涉及到 Spring 缓存时,我是否缺少一些东西?后台有一些魔法,或者这真的只是像创建一些并发 HashMap 并将数据从服务放入其中并根据服务方法调用取出或更新数据一样简单吗?

我对使用我自己的缓存实现与 spring-cachce 的看法是 50/50。 spring-cache 已经为我解决了哪些风险?

此问题假设使用默认缓存管理器。

最佳答案

Spring 默认使用默认的 ConcurrentHashMap,但如果您在类路径中包含 Caffeine ( https://github.com/ben-manes/caffeine ) 或 Hazelcast,您将获得不同的缓存提供程序。这样做的好处是您可以在外部或您的应用程序中配置缓存,而无需任何代码。

关于java - 主要优点/区别是什么 [ spring-cache vs plain map caching ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56168845/

相关文章:

java - 我用 javascript 实现了一个计时器,但是如果 javascript 被禁用怎么办?

java - Storm KafkaSpout 停止消费来自 Kafka Topic 的消息

java - 如何从 Jython 加载 springframework ApplicationContext

spring-security - Spring Boot,Spring Security 覆盖 UserDetailsS​​ervice

java - 使用 Spring 关闭端点

postgresql - Gradle项目中如何连接PostgreSQL

java - 使用ICU将拼出的数字(字符串)转换为整数

java - 访问 ArrayList 中其他项目之间的所有项目

java - 以编程方式创建REST服务

spring - 注销后如何启动全局变量?