之前是这样,先 SetNX aaa 111
成功后,再设置有效期 Expire aaa 10
如果SetNx后程序被kill了之类的,锁就永远存在了。 后面的程序无法SetNx成功了。
----------------------- Redis在 2.6.12 版本开始,为 SET 命令增加了一系列选项:
SET key value [EX seconds][PX milliseconds][NX|XX]
EX seconds:设置指定的过期时间,单位秒。 PX milliseconds:设置指定的过期时间,单位毫秒。 NX:仅当key不存在时设置值。 XX:仅当key存在时设置值。 ----------------------- 以后用Set就行了,直接指定有效期,完美。
|