Redis常用命令(1)——Key

时间:2022-12-10 08:23:41

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

 

原文地址:http://caiguoqing.org/post/103