Redis 实现分布式锁Redis 实现分布式锁获取锁释放锁
Redis 实现分布式锁锁的本质就是独占获取锁setex key value这个key就是你需要锁住的东西,如果你想要保证单用户并发:那么它就可以是用户的userId,当key不存在的时候才能成功,否则失败。以此为基础我们就能保证一个线程获得锁的时候,知道它释放,都不会被其他县城抢占。但这里就产生了第一个问题。如果一个线程获得锁后,在释放锁之前就挂了,这个锁永远无法得到释放要解决这个问题也很简单,我们对这个key 设置一个超时时间。setex key valueexpire key