从这里开始,我们开始学习如何设计一个多级缓存架构。多级缓存架构的实现方案其实有很多,主要根据自己的业务情况来具体使用。
这里我们多级缓存架构主要分成三块,从图中可以看出,最外层是nginx,然后是redis,最底层是缓存生产服务,
大概就是:服务本地堆缓存 + redis分布式缓存 + nginx本地缓存组成的
缓存数据生产服务的工作流程分析
- 监听多个kafka topic,每个kafka topic对应一个服务(简化一下,监听一个kafka topic)
- 如果一个服务发生了数据变更,那么就发送一个消息到kafka topic中
- 缓存数据生产服务监听到了消息以后,就发送请求到对应的服务中调用接口以及拉取数据,此时是从mysql中查询的
- 缓存数据生产服务拉取到了数据之后,会将数据在本地缓存中写入一份,就是ehcache中
- 同时会将数据在redis中写入一份
spring boot+mybatis+redis框架整合搭建
首先我们跟之前的redis项目实现一样,搭一个简单的项目,不清楚的可以看: