Redis常用命令(1)——Key

2017-02-09 From 程序之心 By 丁仪

DEL

格式:DEL key [key ...]

作用:删除一个或多个 key。不存在的 key 会被忽略。

返回值:被删除 key 的数量。

示例:

192.168.1.100:6379> set testkey 1

OK

# 删除成功返回删除key的个数

192.168.1.100:6379> del testkey

(integer) 1

# key不存在返回0

192.168.1.100:6379> del testkey

(integer) 0

EXISTS

格式:EXISTS key

作用:检查 key 是否存在。

返回值:存在返回 1,否则返回 0 。

示例:

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> exists testkey

(integer) 1

192.168.1.100:6379> del testkey

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 0

EXPIRE

格式:EXPIRE key seconds

作用:为给定 key 设置生存时间,单位为秒,当 key 过期时,被自动删除。对一个已经带有生存时间的 key 执行 EXPIRE 命令,新指定的生存时间会取代旧的生存时间。PEXPIRE命令单位为毫秒。

返回值:设置成功返回 1 。key 不存在或者不能为 key 设置生存时间时,返回 0 。

示例:

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> expire testkey 5

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 0

EXPIREAT

格式:EXPIREAT key timestamp

作用:为 key 设置生存时间,时间为UNIX 时间戳,单位为秒。PEXPIREAT命令单位为毫秒。

返回值:设置成功返回 1 。key 不存在或者不能为 key 设置生存时间时,返回 0 。

示例:

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> expireat testkey 1486456903

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 0

KEYS

格式:KEYS pattern

作用:查找符合pattern格式要求的key列表。pattern可使用如下通配符

?  仅与一个任意字符匹配。

*  与任意字符匹配。

[]  与可选的字符匹配。

\x  对x进行转义。

返回值:符合pattern格式要求的key列表。

示例:

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> keys test*

1) "testkey"

(1.92s)

192.168.1.100:6379> keys test?ey

1) "testkey"

(1.72s)

192.168.1.100:6379> del 'testkey'

(integer) 1

192.168.1.100:6379> keys test*

(empty list or set)

(1.71s)

PERSIST

格式:PERSIST key

作用:移除给定 key 的生存时间。

返回值:成功返回1,失败或key不存在返回0。

示例:

192.168.1.100:6379> persist testkey

(integer) 0

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> expire testkey 15

(integer) 1

192.168.1.100:6379> persist testkey

(integer) 1

192.168.1.100:6379> exists testkey

(integer) 1

SORT

格式:SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC | DESC] [ALPHA] [STORE destination]

作用:对列表、集合、有序集合进行排序,返回排序的结果或保存到destination中。默认按数字进行排序。

返回值:排序结果或destination元素的个数。

示例:

# 初始化数据

192.168.1.100:6379> sadd testkey 4

(integer) 1

192.168.1.100:6379> sadd testkey 3

(integer) 1

192.168.1.100:6379> sadd testkey 8

(integer) 1

# 对集合进行排序,默认为升序

192.168.1.100:6379> sort testkey

1) "3"

2) "4"

3) "8"

# 对集合进行降序排序

192.168.1.100:6379> sort testkey DESC

1) "8"

2) "4"

3) "3"

# 使用limit限制范围

192.168.1.100:6379> sort testkey DESC limit 1 1

1) "4"

# 初始化数据

192.168.1.100:6379> set testkey_4 100

OK

192.168.1.100:6379> set testkey_3 50

OK

192.168.1.100:6379> set testkey_8 10

OK

# 使用by指定排序的参考key,用*匹配testkey的值

192.168.1.100:6379> sort testkey by testkey_* DESC

1) "4"

2) "3"

3) "8"

# 使用get返回关联数据

192.168.1.100:6379> sort testkey by testkey_* DESC get testkey_*

1) "100"

2) "50"

3) "10"

# sort默认按照数字进行排序,会转换为双精度数字,对于字符串直接使用sort会报错,添加alpha可要求sort按照字典顺序排序

192.168.1.100:6379> sadd testkey a

(integer) 1

192.168.1.100:6379> sadd testkey b

(integer) 1

192.168.1.100:6379> sadd testkey c

(integer) 1

192.168.1.100:6379> sort testkey

(error) ERR One or more scores can't be converted into double

192.168.1.100:6379> sort testkey alpha

1) "a"

2) "b"

3) "c"

TTL

格式:TTL key

作用:查询设置了生存时间的key的剩余时间,单位为秒。

返回值:正常情况下返回剩余时间,如果key没有设置生存时间返回-1,如果key不存在返回-2。

示例:

192.168.1.100:6379> set testkey 1

OK

192.168.1.100:6379> expire testkey 50

(integer) 1

192.168.1.100:6379> ttl testkey

(integer) 47

192.168.1.100:6379> ttl testkey

(integer) 29

192.168.1.100:6379> ttl testkey

(integer) -2

TYPE

格式:TYPE key

作用:返回key的类型

返回值:key的类型

示例:

# 字符串类型

192.168.1.100:6379> set testkey1 2

OK

192.168.1.100:6379> type testkey1

string

#集合类型

192.168.1.100:6379> sadd testkey2 d

(integer) 1

192.168.1.100:6379> type testkey2

set

#列表类型

192.168.1.100:6379> lpush testkey3 d

(integer) 1

192.168.1.100:6379> type testkey3

list

# 散列类型

192.168.1.100:6379> hset testkey4 t t

(integer) 1

192.168.1.100:6379> type testkey4

hash

# 有序集合类型

192.168.1.100:6379> zadd testkey5 100 d

(integer) 1

192.168.1.100:6379> type testkey5

zset

本文来源:程序之心,转载请注明出处!

君子曰:学不可以已。
《黑匣子思维》
“黑匣子思维”是一种记录和审视失败并从中吸取经验的积极态度。不惧怕面对失败,反而视失败为学习的途径。不会否认过失、推诿责任和想方设法脱身,而会把失败作为样本深入研究。 缺乏从失败中学习的态度、勇气和能力,会对个体或行业带来严重危害。千方百计避免犯错并不是我们的目标,学习如何聪明而有意义地犯错,将每一次失败作为测试我们成绩的机会。
发表感想

© 2016 - 2024 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号