上一讲是Redis的set命令的用法,这一讲将会讲一下set命令的几个变体。
这些变体命令都包括什么呢?基本就是一下三个命令
SETNX, SETEX, PSETEX
那么一下三个命令有什么用呢?看名字也大概可以知道,基本就是把set命令都一些可选参数整合进来。下面,我们一个一个来看一下。
1. SETEX 这个命令等于把set命令的EX参数整合进来,可以用来设置一个有超时参数的key
基本语法如下:
SETEX key seconds value
使用示例:
2. SETNX 这个命令等于把set命令的NX整合进来,可以用来设置当key不在Redis当时候才允许保存。
基本语法如下:
SETNX key value
使用示例:
注:如上图示,第二次设置同一个key的时候,结果并不会覆盖第一次设置的,因为此时key已经不为空了。
2. PSETEX 这个命令其实跟SETEX很相像,不过P就是set里面的PX参数,通过这个命令,可以设置一个毫秒级别超时的key,仅此而已。
基本语法如下:
PSETEX key milliseconds value
使用示例:
注:这里的PTTL就是看这个key还剩多少秒生存时间,如果生存时间还没有用完,也就是说key还没有超时,都可以获取到这个key,如果已经超时了,PTTL返回的结果是-2,此时key也会被移除