请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于getOne使用分布式锁优化

在getOne中的互斥锁,我使用redis实现的分布式锁来完成商品数量的扣减,但是发现高并发下,有一部分线程就获取不到分布式锁,因为上一个获取到锁的线程还没有把锁释放
想问一下如何能提高线程获取到锁的概率???相比与当前的sync.Mutex 使用redis的分布式锁会有并发量的优势吗

正在回答 回答被采纳积分+3

1回答

Cap 2020-07-01 16:55:35

如果你采用的redis连接纯在资源竞争的关系就可能会在并发下无法正常使用redis,课程里的锁是在语言层面的相对自由度会大点

0 回复 有任何疑惑可以回复我~
  • 提问者 Clown08 #1
    那如果想用redis实现高并发的库存扣减,那要怎么设计?
    如果是使用分布式锁的话,redis的操作就像是串行化执行库存扣减了,其他的线程抢占不到分布式锁的话我用了一个for循环不断进行锁的获取,在高并发下,这样的操作感觉并不合理,所以想问一下老师倘若用缓存加rabbitmq是应该按照怎样的逻辑顺序去处理大量的并发
    回复 有任何疑惑可以回复我~ 2020-07-02 15:59:58
  • Cap #2
    rabbitmq它本身是个瓶颈写入不是很高,不加优化的话。
    回复 有任何疑惑可以回复我~ 2020-07-02 16:03:57
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信