什么是主要 benefits/differences [spring-缓存与普通地图缓存]

What are main benefits/differences [ spring-cache vs plain map caching ]

所以我最近在我的服务中添加了一些 spring-缓存使用,我越看越觉得它限制了我的能力。

我的初步印象是它的代码不那么繁重,我不需要写那么多代码。那是一个加号。

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

关于 spring 缓存,我是否遗漏了什么?后台有一些魔法,或者这真的就像创建一些并发散列映射并将数据从服务中放入它们并根据服务方法调用取出数据或更新一样简单吗?

我 50 / 50 使用我自己的缓存实现与 spring-cachce。我可以 运行 到那个 spring-cache 已经为我解决了哪些风险?

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

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