springboot 缓存架构

线程内部缓存:a. 局部变量HashMap, 方法间传递  b. 使用ThreadLocal

本地缓存:单jvm内共享 可以使用(Concurrent)HashMap自己实现,也可以使用GuavaCache。 guavaCache支持过期自动删除(全局的过期时间),垃圾回收, 回收通知。。。

远程缓存:多jvm共享     redis 主备切换 故障自动恢复, 单个key设置过期时间

                                       memcached 一致性hash 扩容需要自己实现

业务逻辑如果允许本地缓存,就不要使用远程缓存

本地缓存和远程缓存 一般都会一起使用的,先从本地缓存,再去进程外的缓存,然后再数据,提高响应时间

原文地址:https://www.cnblogs.com/hahajava/p/10278400.html