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 millinseconds-timestamp
- 获取key有效时间
ttl key //正数:剩余时间秒数 -2:已失效,key不存在了 -1:key存在,未设置有效时间
pttl key //以毫秒为单位返回剩余有效时间
- 切换key从时效性转换为永久性
persist key
key扩展操作(查询模式)
- 查询key
keys pattern
查询模式规则
key其他操作
- 为key改名
rename key newkey //如果已经有newkey的数据,直接覆盖,所以使用时一定要慎重
renamenx key newkey //如果已经有,则失败
- 对所有key排序
sort //针对list,set,sorted set,不动元数据,仅显示结果按顺序
- 其他key通用操作
help @generic
数据库通用命令
key重复问题
- key是由程序员定义的
- redis在使用过程中,伴随着操作数据量的增加,会出现大量的数据以及对应的key
- 数据不区分种类,类别混杂在一起,极易出现重复或冲突
解决方案
- redis为每个服务器提供有16个数据库,编号从0-15
- 每个数据库之间的数据互相独立
db 基本操作
- 切换数据库
select index
- 其他操作
quit
ping
echo message
- 数据移动
move key db //首先要保证移入的数据库中没有待移入的key
- 数据清除
dbsize //当前数据库的数据量
flushdb //清除当前数据库中的数据
flushall //清楚所有数据库中的数据