JAVA 面试总结-Redis分布式锁

模拟抢券场景
通过下面方法添加Synchronized锁来防止上述情况,

如果上面是单体服务没有问题,但是如果项目是集群部署,会出现下面的问题,因为Synchronized是属于本地的锁
端口8080和8081同时访问,那么两个线程会同时加锁
这时候我们需要用分布式锁

8080端口在进行线程1的时候,进行加锁,此时8081的进行访问的时候获取互斥锁失败,可以保证数据一致
8080端口在进行线程1的时候,进行加锁,此时8081的进行访问的时候获取互斥锁失败,可以保证数据一致