java缓存方案设计
1、快速存、快速取的设备,用内存
内存优点:读写速度是磁盘速度的几千倍、甚至上万倍
内存缺点:数据易丢失
2、将缓存推到离用户最近的地方
缓存离用户越近,所需要走的链路就越少,对应的查询效率就越高
3、脏缓存清理
- 缓存都有易丢失的特点,所以关键型的数据一定要存到数据库上、存储在不能丢失的设备上。
- 一旦引入了缓存机制,就会有一个缓存同步的问题,原始数据更新后,怎么同步更新对应的缓存数据。
- 根据实际的业务场景选择适合的缓存清理策略,比如结合缓存数据对前端的影响效果等。
缓存压测结果对比
- 1、普通mysql压测,并发4.5w调请求,tps在1200/s左右
- 2、redis缓存,本地并发4.5w调请求,tps在1200/s左右,可能不是云环境,正常情况下,通过redis缓存,tps比普通情况下要高出不少。
- 3、本地数据内存缓存,本地并发4.5w调请求,tps在3369/s左右