spring boot使用redis实现抢单功能
各位小伙伴好,今天是2019年最后一天上班了。在这里给大家用一个简单的方法实现分布式锁,主要用到技术框架springboot+redis实现。
1.拿滴滴出行里面的预约单抢单平台来说。当乘客发布一个预约单,在一定范围内的每个滴滴师傅都会收到一个抢单提醒,谁的手速快,谁就能抢单成功。这就是一个多线程并发抢单的常见问题。以前,我们需要解决这个问题的话,一般是用到多线程中的synchronized锁来实现这个功能,的确,是可以这样做,但是这个效率特别慢。而且,我们现在所有系统都是微服务架构,会出现服务多开与负载的情况,假如说我们使用synchronized锁来实现的话,如果服务多开,肯定是没办法实现这个功能,会有脏数据产生,也没办法保证原子性。所以,我们引入redis,因为redis本身就是单线程的,线程安全这块肯定没有问题的,下面我们就介绍用reids实现抢单功能。