卡片分享:Redis分布式锁

43 阅读1分钟

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命令是用来设置一个键值对的,其中包含了一些参数。接下来逐步解释这个命令:

  1. set: 这是Redis中用来设置键值对的命令。
  2. mytasklock: 这是要设置的键名,也就是将要存储数据的标识符或名称。
  3. "tony": 这是要存储的值,本例中是一个字符串,其值为 "tony"。
  4. ex 10: 这是一个选项,表示设置键的过期时间为10秒。即在10秒后,如果没有对这个键进行更新或查询,它将被自动删除。
  5. nx: 这也是一个选项,表示只有在键不存在时才进行设置。这个选项保证了如果键已经存在,则不进行任何操作,以免覆盖已有数据。

因此,整个命令的含义是设置一个名为 "mytasklock" 的键,其对应的值为 "tony",并且这个键将在10秒后自动过期。如果在设置时发现该键已经存在,则不进行任何操作。

推荐标签:

#后端开发/redis
#求职/面试/考察频度1/八股文

相关卡片:

[[20240428@Redis分片 cluster]]