如果你需要原子性,你必须使用eval或multi。例如:
添加元素
eval "redis.call('hset',KEYS[1],KEYS[2],KEYS[3],KEYS[4],KEYS[5]) redis.call('sadd',KEYS[2]..':'..KEYS[3],KEYS[1]) redis.call('sadd',KEYS[4]..':'..KEYS[5],KEYS[1])" 5 3 FirstName Bob LastName Marley
127.0.0.1:6370>smembers姓氏:marley
1)“3”
127.0.0.1:6370>汞柱3
1)“名字”
2)“鲍伯”
3)“姓氏”
4)“马利”
删除元素
eval "local k2=redis.call('hget',KEYS[1],KEYS[2]) local k3=redis.call('hget',KEYS[1],KEYS[3]) redis.call('srem',KEYS[2]..':'..k2,KEYS[1]) redis.call('srem',KEYS[3]..':'..k3,KEYS[1]) redis.call('del',KEYS[1])" 3 3 FirstName LastName
127.0.0.1:6370>汞柱3
(空列表或集合)
127.0.0.1:6370>smembers姓氏:marley
(空列表或集合)