使用JVM提高秒杀系统性能

2020-03-02  本文已影响0人  哇包

前提

使用redis分布式锁,解决秒杀系统库存为零 继续扣减问题

image-20200302194630844.png image-20200302194651973.png

redis分布式锁出现的问题

使用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
上一篇下一篇

猜你喜欢

热点阅读