Redis 常用命令
Redis 通用命令
文章目录
- Redis 通用命令
- get & set
- keys
- exists
- del(delete)
- expire
- TTL
- 键的过期机制
- type
get & set
set key value
第一个是 key ,第二个是 value,输入 set 时,就已经提示了是这个 key value 结构
get key
通过 key 获取 value,查询不存在的key时,查询出来的是
nil
,也就是 null 的意思
操作不同的数据结构,就会有不同的命令,
全局命令
就是能搭配任意一个数据结构来使用的命令
keys
返回所有满足样式(
pattern
)的key,-----通过一些特殊符号(通配符)来描述 key 的模样,匹配上述模样的 key 就能被 查询 出来
时间复杂度O(n)
- **h?llo 匹配 hello,hallo…(
?
匹配任意一个
字符) - h*llo 匹配 hllo,heeeello…(
*
匹配0个或者多个
任意字符
) - h[ae]llo 匹配 hallo~hello(
[ae]
表示只能匹配到a ~ e
,即 a b c d e,相当于固定选项**)** - h[^e]llo 匹配 hallo,hbllo…(
[^e]
** 表示只有e
匹配不了,别的都行)** - h[a-b]llo 匹配 hallo 和 hbllo(匹配
a-b
的范围,并且是 闭区间)
测试
h?llo
h*llo
h[abe]llo
h[^e]llo
h[a-e]llo
exists
EXISTS key [key .....]
判定 key 是否存在
返回值: key 存在的个数
时间复杂度O(1)
del(delete)
DEL key [key ...]
可以删除
一个
或者多个
key
时间复杂度:O(1)
redis 主要的应用场景,就是作为缓存
,redis里存的只是热点数据
,全量数据在mysql数据库中,如果del误删了几个,影响不会很大
integer 2 是因为 aaa 不存在
expire
EXPIRE key seconds
给指定的 key 设置
秒级
过期时间
pexpire key
毫秒级
时间复杂度:O(1)
返回值:1成功,0失败
TTL
TTL key
获取指定key的过期时间,秒级
PTTL
毫秒级
时间复杂度:O(1)
返回值:剩余过期时间
/-1
表示没有关联过期时间 /-2
表示key不存在
键的过期机制
定期删除
过期删除
假设这个 key 已经到了过期时间,但是暂时还没有删除它,key还存在,紧接着后面一次访问正好用到了这个key
于是这次访问就会让Redis服务器触发 删除 key 的操作,同时再返回一个nil
type
type key
返回对应 key 的
数据类型
时间复杂度:O(1)
返回值:none,string,list,set,zset,hash,stream