spring - CaffeineCacheManager 与 SimpleCacheManager

标签 spring spring-cache

我可以知道 CaffeineCacheManager 和 SimpleCacheManager 之间的区别吗?

正如描述CaffeineCacheManager是Lazy缓存,那么什么是Lazy缓存,什么情况下应该选择CaffeineCacheManager?

最佳答案

阅读all the different cache providers首先注意它们的 API 有何不同。 Simple Cache 管理器是 Spring 的默认缓存管理器,如果您未指定缓存管理器,则使用该管理器。它很“简单”,因为它的底层实现使用 Java ConcurrentHashMap而且它并没有为您提供大量的自定义选项。

Caffeine Cache 管理器略有不同,因为有更多配置驱动的自定义选项,例如能够指定缓存超时到期限制(以便在一定时间段后“破坏”缓存)和缓存最大大小限制以限制缓存的容量。默认的缓存管理器不提供这种可配置性。

我的团队最近在一个项目中使用了 Caffeine Cache 管理器,我绝对可以推荐它。

就您有关“惰性”缓存的问题而言。阅读lazy instatiation更广泛地。本质上,它只在需要时加载所需的内容(在缓存访问时),而不是一次性加载整个内容。

关于spring - CaffeineCacheManager 与 SimpleCacheManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57617581/

相关文章:

java - 在 REST 查询参数中传递编码 *

java - 如何使用 Spring Security 4.0.1.RELEASE 使用 Auth Token 实现 Rest Full Web 服务

java - 什么是 Spring Project Nature?

java - 在 @CacheEvict 的键中使用非常量属性或字段

java - 是否可以自定义 Spring Cache 抽象使用的序列化?

java - 如何通过 JMX 监控 spring-boot 应用程序?

java - 如何调试错误 : java. lang.AssertionError:JSON 路径 "$.name"处没有值

java - 如何将咖啡因与 Spring 3.1 集成?

java - 使用 Spring KeyGenerator 生成唯一的缓存 key 不起作用

spring - 如何使用 spring 缓 stub 据主键缓存整体列表