采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,有个地方没太理解,在秒杀抢券活动中,在超卖问题上,理解是网络并发引起的超卖问题,老师您说是redis多线程问题导致的,老师,有个地方我没太理解,为什么通过lua脚本放到一个线程里执行就好了,实际上同一时间可能会有并发很多个单线程在执行查库存并扣库存操作,能否给详细回复下
个人理解,超卖问题出现的原因是因为查询count和自减不是原子操作,lua脚本就是让这两个指令在变成redis执行时的原子操作。Redis在执行的时候其实还是单线程的,这样子执行起来,一个操作要么执行,要么没有执行,于是乎就不会有超卖现象了。
是这样的 理解到位
你理解的产生超卖的原因是正确的,这里所讲的Redis多线程其实就是请求上的高并发,开启了多个Redis客户端实例去对Redis进行操作,通过Lua脚本就是解决这个问题
登录后可查看更多问答,登录/注册
以项目整合Redis各种场景,从此轻松应对各类Redis难题
1.2k 11
2.2k 9
1.0k 8
743 7
1.0k 7