分布式锁,很多人都想到了redis,而且不约而同的都使用了
SET key value [EX seconds] [PX milliseconds] [NX|XX]
这个命令, 就是set k v nx px ttl
这种命令,但是这种真的好吗。
准备
redis lua 命令 lua 命令还是学习起来很简单的.大致如下:
127.0.0.1:6379> eval "return redis.call('set',KEYS[1],'bar')" 1 foo
OK
127.0.0.1:6379> eval "return redis.call('set',ARGV[1],'11111111')" 0 foo
OK
一般就是 lua-script keys-num KEYS[1] KEYS[2] ... ARGV[1] ARGV[2]
, 其中调用redis命令使用 redis.call()
,获取返回值使用return
关键字。