基于redis分布式锁
错误方法:setnx获取锁,拿到锁用expire给锁加一个过期时间,防止锁忘记释放。如果setnx执行之后expire执行之前,线程死掉,那锁就永远得不到释放,发生死锁。Long result = jedis.setnx(lockKey, requestId);if (result == 1) {// 线程死掉,无法设置过期时间,发生死锁jedis.expire(lockKey, expireTi...
原创
2018-04-06 15:45:45 ·
4871 阅读 ·
1 评论