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"
相关推荐
JavaPub-rodert17 小时前
Redis 和 MySQL 如何保证数据一致性?从业务方案到底层原理完整讲解
数据库·redis·mysql
程序员阿明1 天前
spring boot4+springAI 2加redis多轮对话存储
spring boot·redis·后端
莫得感情 o1 天前
Redis 05 · 持久化:RDB 与 AOF 怎么保证数据不丢
redis·缓存
curd_boy1 天前
【Redis】Redis从缓存到AI向量平台
人工智能·redis·缓存
莫得感情 o1 天前
Redis 02 · 数据结构:String 到 Stream 怎么选
redis
devpotato1 天前
缓存与数据库更新顺序不一致问题
java·数据库·redis
NeverFear7922 天前
【黑马点评】短信登录
java·redis·tomcat·intellij-idea
攻城有术2 天前
专项攻克——重写 Redis 依赖包方法的 6 种实现方式
java·数据库·redis·bootstrap
spencer_tseng2 天前
kylin redis-6.2.14.tar.gz
linux·redis·kylin·edis-6.2.14
xbgRS2 天前
Redis基本概念及应用
redis·缓存