http://www.taodudu.cc/news/show-3971455.html?action=onClick
使用redis常用的两种加锁的机制:
SETNX命令
http://www.taodudu.cc/news/show-3971455.html?action=onClick
SET命令
SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写。
SETNX key value
将 key 的值设为 value ,当且仅当 key 不存在。
若给定的 key 已经存在,则 SETNX 不做任何动作。
127.0.0.1:6379>SETNXtest'try'(integer)1127.0.0.1:6379>gettest"try"127.0.0.1:6379>SETNXtest'tryAgain'(integer)0127.0.0.1:6379>gettest"try"
第一次给test赋值,返回表示成功;第二次再次尝试给test赋值,返回0,表示失败,并未再次操作,因为值已经存在。
比如有两个线程A和B,两个线程操作相同的key.