Caffeine是否为分布式缓存

📅 2026/6/29 23:56:10
Caffeine是否为分布式缓存
目录结论先说一、核心区分定义1. 本地缓存进程内缓存2. 分布式缓存二、Caffeine 详细特点本地缓存典型三、分布式缓存 Redis 对比四、常见组合多级缓存Caffeine Redis五、快速记忆区分表补充拓展结论先说Caffeine、Guava Cache、ConcurrentHashMap 都属于本地缓存不是分布式缓存二者完全两类。一、核心区分定义1. 本地缓存进程内缓存代表Caffeine、Guava Cache、HashMap数据存在当前应用进程内存里只对这一台服务实例可见每台服务器缓存互相隔离互不共享不跨机器、不跨进程无网络开销2. 分布式缓存代表Redis、Memcached、Tair、Redisson独立中间件服务所有应用实例共享同一套缓存数据应用通过网络 TCP 读写缓存多机器数据统一天然解决集群多实例数据一致性问题二、Caffeine 详细特点本地缓存典型存储位置JVM 堆内存当前 SpringBoot/Java 进程私有另一台服务器看不到这份缓存。无网络 IO读写纯内存操作性能远高于 Redis微秒级。集群下数据割裂问题服务部署多实例集群时A 实例更新 CaffeineB 实例缓存还是旧数据 会出现数据不一致这是本地缓存最大短板。容量限制受 JVM 堆内存大小制约不能存超大热数据。无持久化默认进程重启缓存全部丢失。三、分布式缓存 Redis 对比独立服务所有节点共用一份数据存在网络往返性能比 Caffeine 差一个量级支持持久化、集群、过期淘汰、分布式锁天然适配多实例集群场景。四、常见组合多级缓存Caffeine Redis生产标准架构先查Caffeine本地一级缓存命中直接返回无网络本地未命中再查Redis分布式二级缓存Redis 也无则查数据库回填两级缓存。五、快速记忆区分表特性Caffeine本地缓存Redis分布式缓存数据存放应用 JVM 内存独立缓存服务进程多服务实例是否共享不共享互相隔离全局共享是否跨机器访问否是走网络读写性能极高内存无网络中等有网络开销集群数据一致性差会脏读统一一致分布式锁 / 限流能力不支持原生支持补充拓展有些框架会混淆概念Spring Cache 只是缓存抽象底层可以切换 Caffeine本地或 Redis分布式Caffeine 本身永远是本地缓存不会因为套了 Spring Cache 就变成分布式。