20240428@Redis分布式锁
redis> set mytasklock “tony” ex 10 nx //获取分布式锁成功,加锁⼈为tony,过期 时间为10秒
"OK"
redis> set mytasklock “tom” ex 10 nx //获取分布式锁失败,加锁⼈为tom
(nil)
redis> del mytasklock //释放分布式锁
(integer) 1 //该步骤需要通过lua脚本实现原⼦性操作——“如果加锁⼈为tony,则释放锁”
这个Redis命令是用来设置一个键值对的,其中包含了一些参数。接下来逐步解释这个命令:
set: 这是Redis中用来设置键值对的命令。mytasklock: 这是要设置的键名,也就是将要存储数据的标识符或名称。"tony": 这是要存储的值,本例中是一个字符串,其值为 "tony"。ex 10: 这是一个选项,表示设置键的过期时间为10秒。即在10秒后,如果没有对这个键进行更新或查询,它将被自动删除。nx: 这也是一个选项,表示只有在键不存在时才进行设置。这个选项保证了如果键已经存在,则不进行任何操作,以免覆盖已有数据。
因此,整个命令的含义是设置一个名为 "mytasklock" 的键,其对应的值为 "tony",并且这个键将在10秒后自动过期。如果在设置时发现该键已经存在,则不进行任何操作。
推荐标签:
#后端开发/redis
#求职/面试/考察频度1/八股文
相关卡片:
[[20240428@Redis分片 cluster]]