keys
keys命令详解
# KEYS pattern 查找所有符合给定模式pattern(正则表达式)的 key
支持的正则表达模式:
h?llo 匹配 hello, hallo 和 hxllo
h*llo 匹配 hllo 和 heeeello
h[ae]llo 匹配 hello 和 hallo, 但是不匹配 hillo
h[^e]llo 匹配 hallo, hbllo, … 但是不匹配 hello
h[a-b]llo 匹配 hallo 和 hbllo
如果你想取消字符的特殊匹配(正则表达式,可以在它的前面加\
127.0.0.1:6379> KEYS *
1) "gender"
2) "naem"
3) "age"
4) "num"
5) "name"
127.0.0.1:6379> KEYS n*
1) "naem"
2) "num"
3) "name"
127.0.0.1:6379> KEYS n?
(empty list or set)
127.0.0.1:6379> KEYS n?m
1) "num"
127.0.0.1:6379> KEYS na[em]?
1) "naem"
2) "name"
#EXISTS key [key ...] 查询key是否存在
127.0.0.1:6379> EXISTS n
(integer) 0
127.0.0.1:6379> EXISTS num
(integer) 1
127.0.0.1:6379> EXISTS name age
(integer) 2
127.0.0.1:6379> EXISTS name age num
(integer) 3
127.0.0.1:6379> EXISTS name age n
(integer) 2
#TYPE key 返回key所存储的value的数据结构类型,它可以返回string, list, set, zset 和 hash等不同的类型。
127.0.0.1:6379> SET key1 "value"
OK
127.0.0.1:6379> TYPE key1
string
127.0.0.1:6379> LPUSH key2 'value'
(integer) 1
127.0.0.1:6379> TYPE key2
list
127.0.0.1:6379> SADD key3 'value'
(integer) 1
127.0.0.1:6379> TYPE key3
set
# DEL key [key ...] 删除指定的一批keys
127.0.0.1:6379> KEYS *
1) "key2"
2) "key3"
3) "key1"
4) "gender"
5) "naem"
6) "age"
7) "num"
8) "name"
127.0.0.1:6379> DEL key1 key2 key3 kk
(integer) 3
127.0.0.1:6379> KEYS *
1) "gender"
2) "naem"
3) "age"
4) "num"
5) "name"
# RENAME key newkey 将key重命名为newkey,如果key与newkey相同,将返回一个错误。如果newkey已经存在,则值将被覆盖。
127.0.0.1:6379> RENAME num nums
OK
127.0.0.1:6379> GET nums
"3.1"
127.0.0.1:6379> GET naem
"hello kitty"
127.0.0.1:6379> GET name
"hello world"
127.0.0.1:6379> RENAME naem name
OK
127.0.0.1:6379> GET name
"hello kitty"
# RENAMENX key newkey 重命名一个key,新的key必须是不存在的key
127.0.0.1:6379> RENAMENX gender sex
(integer) 1
127.0.0.1:6379> GET sex
"-3"
127.0.0.1:6379> RENAMENX sex age
(integer) 0
127.0.0.1:6379> KEYS *
1) "age"
2) "name"
3) "nums"
4) "sex"
#EXPIRE key seconds 设置过期时间,以秒为单位
127.0.0.1:6379> EXPIRE age 10
(integer) 1
127.0.0.1:6379> ttl age
(integer) 5
127.0.0.1:6379> ttl age
(integer) 1
127.0.0.1:6379> ttl age
(integer) -2
#TTL key 返回key剩余的过期时间
127.0.0.1:6379> TTL age
(integer) 9