redis的set命令学习

转自:http://doc.redisfans.com/string/set.html,https://juejin.cn/post/7120420868513071141

1.介绍

SET key value [EX seconds] [PX milliseconds] [NX|XX]
  •  EX second :设置键的过期时间为 second 秒。 SET key value EX second 效果等同于 SETEX key second value 。
  • PX millisecond :设置键的过期时间为 millisecond 毫秒。 SET key value PX millisecond 效果等同于 PSETEX key millisecond value 。
  • NX :只在键不存在时,才对键进行设置操作。 SET key value NX 效果等同于 SETNX key value 。
  • XX :只在键已经存在时,才对键进行设置操作。

2.使用  

命令 SET resource-name anystring NX EX max-lock-time 是一种在 Redis 中实现锁的简单方法。这个命令是原子的。

客户端执行以上的命令:

  • 如果服务器返回 OK ,那么这个客户端获得锁。
  • 如果服务器返回 NIL ,那么客户端获取锁失败,可以在稍后再重试。

可以通过给value设置为一个更复杂的值来防止误删。 

注:setnx key value expire key seconds,这个命令不是原子的,过期时间可能设置失败导致死锁。

 

posted @ 2022-12-18 19:21  lypbendlf  阅读(51)  评论(0编辑  收藏  举报