前提
使用redis分布式锁,解决秒杀系统库存为零 继续扣减问题
image-20200302194630844.png image-20200302194651973.pngredis分布式锁出现的问题
使用redis锁,对redis频繁操作 ,redis性能固然强悍 但并发量过大 对于redis也有影响
受到网络带宽以及通信影响对redis的操作 也影响系统稳定性及性能
使用jvm可以有效的解决相应问题
jvm缓存
什么是jvm缓存
通俗来说就是: 使用static关键字开辟占用内存较小,时间复杂度为o(1)的map存储数据提高读取速率
作用:
1)提高获取数据的速率,避免IO读取耗时
2)大量读取,更新频率低
3)经常变化但不会持久化的数据
使用ConcurrentHashMap做商品售完标记
并发情形下使用它 保证线程安全问题
//商品售完标记map,多线程操作不能用HashMap
private static ConcurrentHashMap<String, Boolean> productSoldOutMap
= new ConcurrentHashMap<>();
image-20200302200351723.png
网友评论