key通用操作
key 特征
- key是一个字符串,通过key获取redis中保存的数据
key应该设计哪些操作?
- 对于key自身状态的相关操作,例如:删除,判定存在,获取类型等
- 对于key有效性控制相关操作,例如:有效期设定,判定是否有效,有效状态的切换等
- 对于key快速查询操作,例如:按指定策略查询key
- ……
key 基本操作
- 删除指定key
del key
- 获取key是否存在
exists key
- 获取key的类型
type key
key 扩展操作(时效性控制)
- 为指定key设置有效期
expire key seconds //秒
pexpire key milliseconds //毫秒
expireat key timestamp //时间戳
pexpireat key milliseconds-timestamp //时间戳
- 获取key的有效时间
ttl key //一个key存在返回 -1 ,不存在返回 -2 ,key设置有效期泽返回剩余有效市场
pttl key
- 切换key从时效性转换为永久性
persist key // 操作失败返回0,对一个被时效性管理的key,设置成功返回1
设置str有效期三秒,三秒后查询为nil
ttl key
- 一个key存在返回 -1 ,不存在返回 -2 ,key设置有效期泽返回剩余有效市场
persist key - 操作失败返回0,对一个被时效性管理的key,设置成功返回1
key 扩展操作(查询模式)
- 查询key
keys pattern
查询模式规则
keys * 查询所有
keys it* 查询所有以it开头
keys *dog 查询所有以dog结尾
keys ??dog 查询所有前面两个字符任意,后面以dog结尾
keys user:? 查询所有以user:开头,最后一个字符任意
keys u[st]er:1 查询所有以u开头,以er:1结尾,中间包含一个字母,s或t
key 其他操作
为key改名
rename key newkey //修改key的名称,如何newkey已经存在。则覆盖原数据
renamenx key newkey //修改key的名称,如何newkey已经存在则会修改失败
对所有key排序
sort //数据必须是list,set,sorted set类型,必须有数据可排
其他key通用操作
help @generic // 查询key命令的说明
数据库通用操作
key 的重复问题
- key是由程序员定义的
- redis在使用过程中,伴随着操作数据量的增加,会出现大量的数据以及对应的key
- 数据不区分种类、类别混杂在一起,极易出现重复或冲突
解决方案
- redis为每个服务提供有16个数据库,编号从0到15
- 每个数据库之间的数据相互独立
db 基本操作
- 切换数据库
select index
- 其他操作
quit //退出
ping // 测试服务器是否连通
echo message // 打印
db 相关操作
- 数据移动
move key db //将数据迁移到别的db(0-15)
- 数据清除
dbsize //数据库里有多少key
flushdb //清除当前db(0-15)
flushall //清除所有