key通用指令
大约 3 分钟
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 millinseconds-timestamp

获取key剩余的有效时间
ttl key
pttl key

对于ttl命令的返回值
-2
:key不存在,或存在已失效-1
:key没设置有效期- 剩余有效时间:key设置了有效时间,还没过期
切换key从时效性转换为永久性
persist key
如果key处于有时效控制的状态,
三、key扩展操作(根据ex查询key)
查询key
keys pattern # pattern写正则即可


四、key其他操作(改名、排序…)
为key改名
rename key newkey # 如果已经有newkey的数据,直接覆盖
renamenx key newkey # 不覆盖rename,如果已经有,则失败

对所有key排序,,不修改数据,只是返回排序结果
sort key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]

其他key通用操作
help @generic
五、数据库通用操作
key重复问题: key是由程序员定义的,redis在使用过程中,伴随着操作数据量的增加,会出现大量的数据以及对应的key。数据不区分种类,类别混杂在一起,极易出现重复或冲突
解决方案: redis为每个服务器提供有16个数据库,编号从0-15(默认使用0),

切换数据库
select index # select 11

其他操作
quit
ping # 测试和服务器的连接
echo message
数据移动
move key db # 若当前库没有key或目标库已经存在同名key,则返回0操作失败

数据清除
dbsize # 获取当前库中,key的数量
flushdb # 清空当前库的数据
flushall # 清空所有库的数据