Redis通用指令
1、key通用命令
1.1、key基本操作(删除、判断、类型)
// 删除指定的key
del key
/删除当前数据库中的所有Key
flushdb
//删除所有数据库中的key
flushall
// 获取key是否存在
exists key
// 获取key的类型
type key
1.2、key 扩展操作(时效性控制)
为指定key设置有效期
// 设置key的有效期为秒单位
expire key seconds
// 设置key毫秒单位
pexpire key milliseconds
// 设置时间戳
expireat key timestamp
pexpireat key milliseconds-timestamp
获取key的有效时间
// 获取当前key的有效期(返回三个值:-2代表不存在,-1代表存在,设置了有效期就是当前剩余时间)
ttl key
// 相同,剩余时间为毫秒
pttl key
切换key从时效性转换为永久性
persist key
1.3、Key扩展操作(查询模式)
keys pattern
pattern查询模式规则
- *:匹配任意的数量和任意符号
- ?:匹配一个任意符号
- []:匹配一个指定符号
示例:
查询模式 | 描述 |
keys * | 查询所有的key |
keys it* | 查询所有以it开头的 |
keys *… | 查询所有以后面字母结尾的 |
keys ??…. | 查询所有前面两个任意字符,后面指定结尾的 |
keys user:? | 查询以user:开头,最后一个字符任意 |
keys u[st]er:1 | 查询所有以u开头的,以er:1结尾,中间包含一个字母,s或t的 |
1.4、key的其他操作
为key改名
// 如果重名的话会覆盖key
rename key newkey
// 如果key不存在就改名
renamenx key newkey
对所有key排序
只对list、set、sorted_set排序,可以打正序、倒序、分页
sort key
其他key通用操作查看文档组
help @generic
2、数据库通用指令
key的重复问题
- key是由程序员定义的
- redis在使用过程中,伴随着操作数据量的增加,会出现大量的数据以及对应的key
- 数据不区分种类、类别混杂在一起,极易出现重复或冲突
解决方案
- redis为每个服务提供有16个数据库,编号从0到15
- 每个数据库之间的数据相互独立
2.1、db数据库的基本操作
切换数据库(index是数据库的索引0-15)
select index
其他操作
// 退出
quit
// 测试是否连接
ping
// 等于日志输出
echo message
2.2、db相关操作
数据移动(必须是有的数据才可以移动,移动等于剪切,如果移动的db中有数据会移动失败)
move key db
数据清除
// 查看当前数据库有多少个key数量
dbsize
// 清除当前所在的db数据
flushdb
// 清除所有db的数据
flushall