标签 - Redis命令

Redis Redis命令    2019-04-29 14:36:03    8    0    0

Redis PEXPIRE 命令和 EXPIRE 命令的作用类似,但是它以毫秒为单位设置 key 的生存时间,而不像 EXPIRE 命令那样,以秒为单位。

语法

redis PEXPIRE 命令基本语法如下:

PEXPIRE key milliseconds

可用版本

>= 2.6.0

返回值

设置成功,返回 1

key 不存在或设置失败,返回 0

实例

首先创建一个 key 并赋值:

redis> SET mykey "Hello"
"OK"
redis> PEXPIRE mykey 1500
(integer) 1
redis> TTL mykey
(integer) 1
redis> PTTL mykey
(integer) 1498
redis> ​
Redis Redis命令    2019-04-29 14:34:23    15    0    0

Redis Expireat 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间。key 过期后将不再可用。

语法

redis Expireat 命令基本语法如下:

redis 127.0.0.1:6379> Expireat KEY_NAME TIME_IN_UNIX_TIMESTAMP

可用版本

>= 1.0.0

返回值

设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的过期时间)返回 0 。

实例

首先创建一个 key 并赋值:

redis 127.0.0.1:6379> SET runoobkey redis
OK

为 key 设置过期时间:

redis 127.0.0.1:6379> EXPIREAT runoobkey 1293840000
(integer) 1
redis 127.0.0.1:6379> EXISTS runoobkey
(integer) 0​
Redis Redis命令    2019-04-29 14:33:51    8    0    0

Redis Expire 命令用于设置 key 的过期时间,key 过期后将不再可用。单位以秒计。

语法

redis Expire 命令基本语法如下:

redis 127.0.0.1:6379> Expire KEY_NAME TIME_IN_SECONDS

可用版本

>= 1.0.0

返回值

设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的过期时间)返回 0 。

实例

首先创建一个 key 并赋值:

redis 127.0.0.1:6379> SET runooobkey redis
OK

为 key 设置过期时间:

redis 127.0.0.1:6379> EXPIRE runooobkey 60
(integer) 1

以上实例中我们为键 runooobkey 设置了过期时间为 1 分钟,1分钟后该键会自动删除。

Redis Redis命令    2019-04-29 14:33:08    13    0    0

Redis EXISTS 命令用于检查给定 key 是否存在。

语法

redis EXISTS 命令基本语法如下:

redis 127.0.0.1:6379> EXISTS KEY_NAME

可用版本

>= 1.0.0

返回值

若 key 存在返回 1 ,否则返回 0 。

实例

redis 127.0.0.1:6379> EXISTS runoob-new-key
(integer) 0

现在我们创建一个名为 runoob-new-key 的键并赋值,再使用 EXISTS 命令。

redis 127.0.0.1:6379> set runoob-new-key newkey
OK
redis 127.0.0.1:6379> EXISTS runoob-new-key
(integer) 1
redis 127.0.0.1:6379>​
Redis Redis命令    2019-04-29 14:32:35    13    0    0

Redis DUMP 命令用于序列化给定 key ,并返回被序列化的值。

语法

redis DUMP 命令基本语法如下:

redis 127.0.0.1:6379> DUMP KEY_NAME

可用版本

>= 2.6.0

返回值

如果 key 不存在,那么返回 nil 。 否则,返回序列化之后的值。

实例

首先,我们在 redis 中创建一个 key 并设置值。

redis> SET greeting "hello, dumping world!"
OK

现在使用 DUMP 序列化键值。

redis> DUMP greeting
"\x00\x15hello, dumping world!\x06\x00E\xa0Z\x82\xd8r\xc1\xde"

redis> DUMP not-exists-key
(nil)​
Redis Redis命令    2019-04-29 14:17:44    12    0    0

Redis Rpushx 命令用于将一个值插入到已存在的列表尾部(最右边)。如果列表不存在,操作无效。

语法

redis Rpushx 命令基本语法如下:

redis 127.0.0.1:6379> RPUSHX KEY_NAME VALUE1..VALUEN

可用版本

>= 2.2.0

返回值

执行 Rpushx 操作后,列表的长度。

实例

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 2
redis 127.0.0.1:6379> RPUSHX mylist2 "bar"
(integer) 0
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "foo"​
Redis Redis命令    2019-04-29 14:16:51    10    0    0

Redis Rpush 命令用于将一个或多个值插入到列表的尾部(最右边)。

如果列表不存在,一个空列表会被创建并执行 RPUSH 操作。 当列表存在但不是列表类型时,返回一个错误。

注意:在 Redis 2.4 版本以前的 RPUSH 命令,都只接受单个 value 值。

语法

redis Rpush 命令基本语法如下:

redis 127.0.0.1:6379> RPUSH KEY_NAME VALUE1..VALUEN

可用版本

>= 1.0.0

返回值

执行 RPUSH 操作后,列表的长度。

实例

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "bar"
(integer) 3
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "foo"
3) "bar"​
Redis Redis命令    2019-04-29 14:16:13    13    0    0

Redis Rpoplpush 命令用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回。

语法

redis Rpoplpush 命令基本语法如下:

redis 127.0.0.1:6379> RPOPLPUSH SOURCE_KEY_NAME DESTINATION_KEY_NAME

可用版本

>= 1.0.0

返回值

被弹出的元素。

实例

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "bar"
(integer) 3
redis 127.0.0.1:6379> RPOPLPUSH mylist myotherlist
"bar"
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "foo"​
Redis Redis命令    2019-04-29 14:15:37    20    0    0

Redis Rpop 命令用于移除列表的最后一个元素,返回值为移除的元素。

语法

redis Rpop 命令基本语法如下:

redis 127.0.0.1:6379> RPOP KEY_NAME

可用版本

>= 1.0.0

返回值

被移除的元素。

当列表不存在时,返回 nil 。

实例

redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> RPOP mylist
"three"
redis> LRANGE mylist 0 -1
1) "one"
2) "two"
redis> ​
Redis Redis命令    2019-04-29 14:13:45    14    0    0

Redis Ltrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

下标 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

语法

redis Ltrim 命令基本语法如下:

redis 127.0.0.1:6379> LTRIM KEY_NAME START STOP

可用版本

>= 1.0.0

返回值

命令执行成功时,返回 ok 。

实例

redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 1
redis 127.0.0.1:6379> RPUSH mylist "hello"
(integer) 2
redis 127.0.0.1:6379> RPUSH mylist "foo"
(integer) 3
redis 127.0.0.1:6379> RPUSH mylist "bar"
(integer) 4
redis 127.0.0.1:6379> LTRIM mylist 1 -1
OK
redis 127.0.0.1:6379> LRANGE mylist 0 -1
1) "hello"
2) "foo"
3) "bar"​
2/4