redis中set、setnx、setex区别

1、SET key value

含义:
 
         将字符串值 value 关联到 key 。
 
         如果 key 已经持有其他值, SET 就覆写旧值,无视类型。
 
2、SETEX key seconds value
 
含义:
 
          将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。
 
          如果 key 已经存在, SETEX 命令将覆写旧值。
 
返回值:
 
          设置成功时返回 OK 。
 
          当 seconds 参数不合法时,返回一个错误。
 
3、SETNX key value
 
含义:
 
          将 key 的值设为 value ,当且仅当 key 不存在。
 
          若给定的 key 已经存在,则 SETNX 不做任何动作。
 
          SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写。
 
返回值:
 
          设置成功,返回 1 。
 
          设置失败,返回 0 。
 
4、GETSET key value
 
含义:
 
         将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
 
         当 key 存在但不是字符串类型时,返回一个错误。
 
返回值:
 
          返回给定 key 的旧值。
 
          当 key 没有旧值时,也即是, key 不存在时,返回 null 。
 
posted @ 2021-05-18 10:42  xupp  阅读(1556)  评论(0编辑  收藏  举报