Redis 有什么给 key 加锁的方法吗?

  • 时间:
  • 浏览:0
  • 来源:跟我学网络

另外增加一个 key 作为 lock,获取 lock 时用 redis 的 setNx 方法(意思是 SET if Not eXist, 如果 lock 已经存在,那么就无法 set 了;不同语言的 redis client 可能方法名不一定叫这个,但应该都有对应的方法的)。

如果 setNx 成功表示加锁成功,然后就可以执行你的读取数据的操作了,执行完之后需要将 lock key 删除;

如果 setNx 失败表示已有前面的线程在使用,需要等待一定时间然后重试 setNx

搜索 redis 分布式锁,可以看到更多详细的使用介绍