🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 为什么需要缓存 * 对于数据库改动很少的数据,高频次的调用,会徒增数据库的压力。 * 从缓存中获取数据,比直接访问数据库获取要快很多。 * 直接访问一个已经存在的对象,要比从数据创建一个对象快。 * 缓存的架构发展很迅速,从本地缓存 到 集群缓存 再到 分布式缓存(数据网格)。 * 分布式系统一般会有一级缓存、二级缓存、要求更高些的会有三级缓存。 * 但要用好缓存并不是那么简单,我们还需要具有缓存穿透、缓存雪崩对应的解决方案。 ## 缓存使用办法 官方文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#cache ## 微服务间调用缓存 目前JPower工程里的[feign调用](./微服务远程调用/声明式服务调用Feign.md)已经实现了缓存,需要调用其他微服务的接口时,只需要使用缓存类调用即可,例如用户缓存如下 ![](https://img.kancloud.cn/61/1a/611a924f863495c236ab6cb599ffd0ae_3360x2018.png) 使用办法如下 ~~~ TbCoreUser user = UserCache.getUserByPhone(phone,tenantCode); ~~~ 微服务调用在boot模块项目不存在