JAVA 面试总结-Redis分布式锁
- 模拟抢券场景
- 通过下面方法添加Synchronized锁来防止上述情况,
- 如果上面是单体服务没有问题,但是如果项目是集群部署,会出现下面的问题,因为Synchronized是属于本地的锁
- 端口8080和8081同时访问,那么两个线程会同时加锁
- 这时候我们需要用分布式锁
模拟抢券场景
通过下面方法添加Synchronized锁来防止上述情况,
如果上面是单体服务没有问题,但是如果项目是集群部署,会出现下面的问题,因为Synchronized是属于本地的锁
端口8080和8081同时访问,那么两个线程会同时加锁
这时候我们需要用分布式锁
8080端口在进行线程1的时候,进行加锁,此时8081的进行访问的时候获取互斥锁失败,可以保证数据一致