redis中set、setnx、setex区别

原文地址:http://blog.sina.com.cn/s/blog_ee34aa660102yur0.html

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 。
原文地址:https://www.cnblogs.com/eyesfree/p/13177550.html