Redis中set、setex、setnx、getset的用法和区别

SET key value

含义:

将字符串值value写入到key 。如果 key 已经持有其他值,SET会直接覆写原先,无视原先类型。

SETEX key seconds value

含义:

SET命令的扩充版,将字符串value写入key,并设置过期时间seconds (秒)。

SETNX key value

含义:

setnx = SET if Not eXists

如果key不存在,则将字符串value写入到key。

注:若key已经存在,则SETNX不会进行任何操作。

返回值:

设置成功,返回1。

设置失败,返回0。

GETSET key value

含义:

将字符串value写入到key,并返回key的原先的值(old value)。

  1. 如果key原先没有值(即key不存在时),返回nil。
  2. 如果key存在但不是字符串类型时,返回一个错误。

评论