1.缓存使用
为了系统性能的提升,我们一般都会将部分数据放入缓存中,加速访问。而db承担数据落盘工作。
哪些数据适合放入缓存?
- 即时性、数据一致性要求不高的
- 访问量大且更新频率不高的数据(读多,写少)
举例:
电商类应用,商品分类,商品列表等适合缓存并加一个失效时间(根据数据更新频率来定),后台如果发布了一个商品,买家需要5分钟才能看到新的商品一般还是可以接受的
2.本地缓存
最简单的加入缓存
吞吐量大大提升
这样的方式称作本地缓存
弊端 在单体应用没有问题,分布式项目问题如下
- 缓存不在同一个服务里,导致第一个查数据库得到缓存放入本地,然后又来一个请求负载均衡到第二个服务,没有缓存,导致又去查一遍数据库
- 假设一个数据库的数据修改了需要修改缓存,那么它只会更新操作数据库的那个服务,其他服务的缓存就会导致数据大量不一致。
分布式系统下应该使用分布式缓存
3.Redis缓存
1.导入依赖
<depe