Redis常见命令(字符串类型set命令的几个变体)

上一讲是Redis的set命令的用法,这一讲将会讲一下set命令的几个变体。

这些变体命令都包括什么呢?基本就是一下三个命令

 SETNX, SETEX, PSETEX

那么一下三个命令有什么用呢?看名字也大概可以知道,基本就是把set命令都一些可选参数整合进来。下面,我们一个一个来看一下。

1. SETEX  这个命令等于把set命令的EX参数整合进来,可以用来设置一个有超时参数的key

基本语法如下:

SETEX key seconds value

使用示例:

Redis常见命令(字符串类型set命令的几个变体)

 

2. SETNX  这个命令等于把set命令的NX整合进来,可以用来设置当key不在Redis当时候才允许保存。

基本语法如下:

SETNX key value

使用示例:

Redis常见命令(字符串类型set命令的几个变体)

注:如上图示,第二次设置同一个key的时候,结果并不会覆盖第一次设置的,因为此时key已经不为空了。

2. PSETEX   这个命令其实跟SETEX很相像,不过P就是set里面的PX参数,通过这个命令,可以设置一个毫秒级别超时的key,仅此而已。

基本语法如下:

PSETEX key milliseconds value

使用示例:

Redis常见命令(字符串类型set命令的几个变体)

注:这里的PTTL就是看这个key还剩多少秒生存时间,如果生存时间还没有用完,也就是说key还没有超时,都可以获取到这个key,如果已经超时了,PTTL返回的结果是-2,此时key也会被移除