五种数据类型都用到了key,key本身是一种字符串,通过key可以获取redis中保存的对象。这一篇博客就将介绍key的通用操作。
# (一)key基本操作 {#一-key基本操作}
# 删除key {#删除key}
del key
1
# key是否存在 {#key是否存在}
exists key
1
# 获取key的类型 {#获取key的类型}
type key
1
# (二)key扩展操作 {#二-key扩展操作}
# 时效性: {#时效性}
# 为指定的key设置有效期 {#为指定的key设置有效期}
expire key seconds
pexpire key milliseconds
1
2
# 获取key的有效时间 {#获取key的有效时间}
ttl key(返回-1表示存在但是没有设置有效期,返回-2表示不存在)
pttl key
1
2
###切换key从时效性变为永久性
persist key
1
# 查询操作: {#查询操作}
# 查询key {#查询key}
keys pattern
1
pattren是个类似正则表达式的查询规则,*匹配任意数量的符号,?匹配一个任意符号,[]匹配一个指定符号,如:
keys * 查询所有
keys *a 查询以a结尾
keys ?a 查询以a结尾,长度为2
key a[bcd]e 查询结果abe ace ade
1
2
3
4
# (三)key其他操作 {#三-key其他操作}
# 为key改名 {#为key改名}
rename key newkey(如果newkey已经存在,则直接覆盖已存在的key)
renamenx key newkey(newkey不存在才能改名)
1
2
# 更多的key操作可以通过以下指令查询到 {#更多的key操作可以通过以下指令查询到}
help @generic
1
# (四)数据库的通用操作 {#四-数据库的通用操作}
当key值过多时总会出现key重复的问题,而且如果数据不区分种类放在一起,容易出现冲突。因此redis为每个服务提供了16个数据相互独立的数据库,可以互相切换。
# 切换数据库 {#切换数据库}
select index(0-15)
1
# 测试数据库是否连通 {#测试数据库是否连通}
ping
1
# 数据移动(把一个数据剪切到另一个数据库) {#数据移动-把一个数据剪切到另一个数据库}
move key db
1
# 数据清除(数据清除的命令一般情况下不要用,这就和rm -rf /一样威力巨大) {#数据清除-数据清除的命令一般情况下不要用-这就和rm-rf-一样威力巨大}
flushdb(清除当前db)
flushall(清除所有db)
1
2