抢票本身是一个事务操作,在高并发的同时也要考虑库存量不能-1,我说几点思路吧,缓存就是针对于mysql innodb行锁的优化,redis没有锁概念避免了互相等待时间之后异步队列处理写入db即可,我自己再提供一种思路,将票数分为几十个或者100个池子每个池子里数量最好100左右不能太多,用户hash计算分到不同的池子里拿票,减少了失误冲突和并发等待时间,缺点就是可能一个池子里还有剩,不过高并发面前这个可能性很小。总而言之这类问题很应试说和具体操作完全两回事,不过不同方案都有优缺点,具体解决根据业务场景需求而定吧
点赞 1

相关推荐

牛客网
牛客企业服务