为什么多级缓存
缓存的引入是现在大部分系统所必须考虑的
- redis 作为常用中间件,虽然我们一般业务系统(毕竟业务量有限)不会遇到如下图 在随着 data-size 的增大和数据结构的复杂的造成性能下降,但网络 IO 消耗会成为整个调用链路中不可忽视的部分。尤其在 微服务架构中,一次调用往往会涉及多次调用 例如pig oauth2.0 的 client 认证[1]
![f1c38e447e54969e744f36a49b4f4958.png](https://i-blog.csdnimg.cn/blog_migrate/5ef941bb49b7ff09c277b6a804a67526.jpeg)
- Caffeine 来自未来的本地内存缓存,性能比如常见的内存缓存实现性能高出不少详细对比[2]。
综合所述:我们需要构建 L1 Caffeine JVM 级别缓存 , L2 Redis 缓存。