原理
1 |
|
必选参数说明
-
SET:命令
-
key:待设置的key
-
value: 设置的key的value
可选参数说明(从 Redis 2.6.12 版本开始, SET 命令的行为可以通过一系列参数来修改:)
-
NX:表示key不存在才设置,如果存在则返回NULL
-
XX:表示key存在时才设置,如果不存在则返回NULL
-
EX seconds:设置过期时间,过期时间精确为秒
-
PX millseconds:设置过期时间,过期时间精确为毫秒
以上set 代替了 setnx + expire 需要分2次执行命令操作的方式,保证了原子性。
如果setnx 返回ok 说明拿到了锁;如果setnx 返回 nil,说明拿锁失败,被其他线程占用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
|