springboot 缓存架构
线程内部缓存:a. 局部变量HashMap, 方法间传递 b. 使用ThreadLocal
本地缓存:单jvm内共享 可以使用(Concurrent)HashMap自己实现,也可以使用GuavaCache。 guavaCache支持过期自动删除(全局的过期时间),垃圾回收, 回收通知。。。
远程缓存:多jvm共享 redis 主备切换 故障自动恢复, 单个key设置过期时间
memcached 一致性hash 扩容需要自己实现
业务逻辑如果允许本地缓存,就不要使用远程缓存
本地缓存和远程缓存 一般都会一起使用的,先从本地缓存,再去进程外的缓存,然后再数据,提高响应时间
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步