【键命令对于不同数据结构类型通用】
1、查找键keys,参数⽀持正则表达式
查看当前库中所有的key 。
keys pattern
有3个通配符 *, ? ,[]
- *: 通配任意多个字符
- ?: 通配单个字符
- []: 通配括号内的某1个字符
注意:
keys * :生产已经禁止。因为长时间阻塞redis而导致其他客户端的命令请求一直处于阻塞状态。 更安全的做法是采用scan。
新版本也进行了替代:
root@6c068b3fbf29:/data# redis-cli --scan "u*"
"user1"
"user"
2、查看名称中以a开头
的键
keys a*
3、判断键是否存在,如果存在返回1
,不存在返回0
判断某个key是否存在,返回1表示存在,0不存在。
exists key1
判断键a1
是否存在:
exists a1
# 查看k1是否存在,如果存在返回1
exists k1
# 查看k1 k2 k3是否存在,如果k1 k2存在,k3不存在,则返回2
exists k1 k2 k3
注意:可以设置多个key,只返回存在的个数,但不返回哪一个存在/不存在。
4、查看键对应的value
的类型
查看当前key 所储存的值的类型。返回当前key所储存的值的类型,如string 、list等。
type key
查看键a1
的值类型,为redis⽀持的五种类型中的⼀种:
type a1
5、删除键及对应的值
删除已存在的key,不存在的 key 会被忽略。
del key1 key2 ...
删除键a2、a3
:
del a2 a3
可以设置多个key,返回删除成功的个数。
# 删除k1,如果成功返回1,失败返回0
del k1
# 删除k1 k2 k3,如果k1 k2存在,k3不存在,则返回2
del k1 k2 k3
6、设置过期时间,以秒为单位
给key设置time秒的过期时间。设置成功返回 1 。 当 key 不存在返回 0。
如果没有指定过期时间则⼀直存在,直到使⽤DEL
移除
expire key seconds
设置键a1
的过期时间为5秒:
expire a1 5
7、查看有效时间,以秒为单位
以秒为单位返回 key 的剩余过期时间。
ttl key
查看键bb
的有效时间:
ttl bb
注意:
当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。
8、persist 永不过期
移除给定 key 的过期时间,使得 key 永不过期。
persist key
注意:当过期时间移除成功时,返回 1 。 如果 key 不存在或 key 没有设置过期时间,返回 0 。
9、将某个库中的键值移动到另外一个库
将1号库中的name移动到2号库:
move name 2
10、从当前库随机返回一个key
randomkey
11、更改键名称 (同名直接覆盖)
rename k2 k1
12、更改键名称 (只有new_key不存在时才能更改)
renamenx k2 k1