Redis 通用命令
文章目录
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
