Redis的基础指令

Redis的基础指令

1. KEYS --- 谨慎使用

复制代码
通过通配符进行匹配:
1. h?llo 匹配 hello,hallo,hxllo
2. h*llo 匹配 hllo, heeeello
3. h[ae]llo 匹配 hallo, hello 
4. h[^e]llo 匹配 除了 hello
5. h[a-e] 匹配 hello ---匹配从a到e的闭区间 
🌟特别注意3和5的区别

语法:

复制代码
KEYS pattern

返回值:

复制代码
匹配pattern的所有key

示例:

复制代码
redis> MSET firstname Jack lastname Stuntman age 35
"OK"

redis> KEYS *name*
1) "firstname"
2) "lastname"

redis> KEYS a??
1) "age"

redis> KEYS *
1) "age"
2) "firstname"
3) "lastname"
  • 为什么慎重使用呢?
  • 因为当数据很多时,会占用这个线程去查询,而堵塞了其他的指令
  • 🌟尤其是 **KEYS *** 这条语句,和 SELECT * FROM table; 一样不能随便使用在数据很多的情况下

2. EXISTS

复制代码
判断某个 key 是否存在

语法:

bash 复制代码
EXISTS key [key ...] 

这个 里面的东西可以加也可以不加,在这里可以一次查询多个key是否存在,批量查询,减少网络开销

返回值:

复制代码
存在key的个数,没有则返回0

示例:

复制代码
redis> SET key1 "Hello"
"OK"

redis> EXISTS key1
(integer) 1

redis> EXISTS nosuchkey
(integer) 0

redis> SET key2 "World"
"OK"

redis> EXISTS key1 key2 nosuchkey
(integer) 2 

3. DEL

复制代码
删除指定的key

语法:

复制代码
DEL key [key ...]

返回值:

复制代码
删除key的个数

示例:

复制代码
redis> SET key1 "Hello"
"OK"

redis> SET key2 "World"
"OK"

redis> DEL key1 key2 key3
(integer) 2

4. EXPIRE

复制代码
为指定的key添加秒级的过期时间

语法:

复制代码
EXPIRE key seconds

返回值:

复制代码
1:设置成功
0:设置失败

示例:

复制代码
redis> SET mykey "Hello"
"OK"

redis> EXPIRE mykey 10
(integer) 1

redis> TTL mykey
(integer) 10

5. TTL (Time To Live)

复制代码
获取指定key的过期时间,秒级

语法:

复制代码
TTL key

返回值:

复制代码
1. 剩余的过期时间
2. -1表示没有关联过期时间
3. -2表示key不存在,有可能本来就不存在这个key,有可能过期了,总的来说都是key不存在了

示例:

复制代码
redis> SET mykey "Hello"
"OK"

redis> EXPIRE mykey 10
(integer) 1

redis> TTL mykey
(integer) 10
  • EXPIRE 和 TTL 命令都有对应的支持毫秒为单位的版本:PEXPIRE 和 PTTL

6. TYPE

复制代码
返回key对应的数据类型

语法:

复制代码
TYPE key

返回值:

复制代码
none, string, list, set, zset, hash, stream ...

示例:

复制代码
redis> SET key1 "value"
"OK"

redis> LPUSH key2 "value"
(integer) 1

redis> SADD key3 "value"
(integer) 1

redis> TYPE key1
"string"

redis> TYPE key2
"list"

redis> TYPE key3
"set"
相关推荐
IT大白鼠4 天前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz4 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
lbb 小魔仙4 天前
OpenClaw + cpolar 实战:远程 NAS、分享小游戏、RDP,再配置公网 AI 入口
数据库·人工智能·redis·oracle·prometheus
夕除4 天前
redis--018
redis
两锭子4 天前
Redis基础
redis
烟沙九洲4 天前
Redis 缓存穿透、缓存击穿、缓存雪崩
数据库·redis
字节探索4 天前
Redis 只会当缓存用?这 10 大实战场景,让你的系统快到飞起
redis·后端
于樱花森上飞舞4 天前
【Redis】哨兵详解
java·开发语言·数据库·redis
Rain的Java大神之路4 天前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
Wang's Blog4 天前
Java 接入Redis: 通用命令与键管理
java·服务器·redis