Redis Set命令

SET key value [EX seconds] [PX milliseconds] [NX|XX]

将字符串值 value 关联到 key 。

如果 key 已经持有其他值, SET 就覆写旧值,无视类型。

对于某个原本带有生存时间(TTL)的键来说, 当 SET 命令成功在这个键上执行时, 这个键原有的 TTL 将被清除。

可选参数

从 Redis 2.6.12 版本开始, SET 命令的行为可以通过一系列参数来修改:

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

因为 SET 命令可以通过参数来实现和 SETNX 、 SETEX 和 PSETEX 三个命令的效果,所以将来的 Redis 版本可能会废弃并最终移除 SETNX 、 SETEX 和 PSETEX 这三个命令。

返回值:

在 Redis 2.6.12 版本以前, SET 命令总是返回 OK 。

从 Redis 2.6.12 版本开始, SET 在设置操作成功完成时,才返回 OK 。
如果设置了 NX 或者 XX ,但因为条件没达到而造成设置操作未执行,那么命令返回空批量回复(NULL Bulk Reply)。

使用模式

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

客户端执行以上的命令:

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

设置的过期时间到达之后,锁将自动释放。

参考:http://redisdoc.com/string/set.html

最新文章

  1. java进阶之反射:反射基础之如何获取一个类以及如何获取这个类的所有属性和方法(2)
  2. position导致Safari工具栏不自动隐藏
  3. Win7下mysql root账户登录提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)解决方案
  4. 微信小程序0.11.122100版本新功能解析
  5. html img src base64
  6. ThinkAndroid是简洁,快速的进行Android应用程序的框架
  7. iOS开发——语法&高级Block练习
  8. 【转】scatterlist && DMA
  9. 深入讨论channel timeout
  10. 你必须知道的10个Python第三库
  11. iStatistica Pro for mac(mac系统监视器)
  12. vue的插槽slot
  13. Python-ccs动画及阴影
  14. 第一个sprint冲刺第一阶段
  15. StringBuild的一个小问题
  16. centos下安装visual studio code出现can't find libXss.so.1,出现这在类似怎么查找相关包
  17. Weekly Contest 128
  18. 一步一步学Python-基础篇
  19. ubuntu 12.10 默认安装php5-fpm无监听9000端口,nginx无法链接php5-fpm修正
  20. php filesize() 方法返回的文件大小异常

热门文章

  1. easyui combobox 动态加载数组数据
  2. Shell排序算法和合并排序算法
  3. c# 通过文件夹共享复制文件到服务器
  4. IOS layoutSubviews总结
  5. IE、Chrome、Firefox 三大浏览器对比
  6. Visual Studio2010 支持MVC4开发
  7. 设置Nginx日志
  8. 结构化日志类库 ---- Serilog库
  9. Animation获得当前播放的第几帧
  10. Java基础之一:Java开发环境配置