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

