场景题:redis设置高并发抢单一的东西,如何避免高并发对一个键进行访问? 1. 利用 SETNX 只有在键不存在时才设置成功的性质,实现锁的作用 2. 使用 WATCH 命令监视该键,在事务中使用 MULTI+EXEC完成原子操作 3. 同步锁 RedLock 使用集群内多个节点实现同步锁,降低重入失败概率 4. 定时+自旋锁 设置一个定时键来实现锁,带有过期时间减少死锁风险 5. 随机等待 加随机等待来减缓并发冲突,比如usleep(rand()%1000)。 6. 请求进入redis前先进入消息队列进行削峰
点赞 评论

相关推荐

ResourceUtilization:差不多但是估计不够准确,一面没考虑到增长人口,另一方面也没考虑到能上大学的人数比例,不过我猜肯定只多不少
点赞 评论 收藏
分享
牛客网
牛客企业服务