特牛生活网

Java基于redis实现分布式锁代码实例_redis实现分布式锁的java代码-CSDN博客

网友收藏
文章浏览阅读619次。为什么会有这个需求:例如一个简单用户的操作,一个线程去修改用户状态,首先在在内存中读出用户的状态,然后在内存中进行修改,然后在存到数据库中。在单线程中,这是没有问题的。但是在多线程中由于读取,修改,写入是三个操作,不是原子操作(同时成功或失败),因此在多线程中会存在数据的安全性问题。这个问题的话,就可以用分布式锁在限制程序的并发执行。实现思路:就是进来一个先占位,当别的线程进来操作的时候,发现有人占位了,就会放弃或者稍后再试。占位的实现:在redis中的setnx命令来实现,redis命令可以参_redis实现分布式锁的java代码