Redis基本全局命令

文章目录

redis全局命令:

redis支持很多种数据结构,整体上来说。redis是键值对结构,key固定就是字符串,value实际上就会有很多种,比如说:

  • 字符串
  • 哈希表
  • 列表
  • 有序集合

等等,操作不同的数据结构就会有不同的命令,而全局命令就是能够搭配任何一个数据结构来使用的命令。


get和set

redis是按照键值对的方式存储数据的。

redis中最核心的命令是get和set,具体作用如下:

  • get:根据key来取value,只支持string类型的value,其他类型的value不行
  • set:把key和value存储进去

用法:

  • set key value
  • get key

我们可以使用redis-cli进入redis客户端程序,才能输入redis命令。

使用set指令插入几个键值对

然后再使用get来获取一下value

其中key和value都是字符串,在上面演示的图片中,不需要1加上引号,就是表示字符串的类型。

当然,如果要是给key和value加上引号也是可以的(单引号和双引号都可以),并且redis中的命令是不区分大小写的,大写小写都可以。

get命令直接输入key就能得到value,如果当前key不存在的话,就会返回nil,nil的意思相当于c/c++中的null/NULL,表示不存在的意思。

keys

keys用来查询当前服务器上匹配的key

通过一些特殊符号(通配符)来描述key的模样,匹配上述模样的key就能被查询出来。

在此之前我们先插入几个键值对

返回所有满足样式(pattern)的key。支持如下统配样式。

  • h?llo 匹配hello ,hallo 和hxllo
  • h*llo 匹配hllo 和 heeeello
  • h[ae]llo 匹配 hello 和 hallo 但不匹配hillo
  • h[^e]llo 匹配 hallo ,hbllo ,...但不匹配hello
  • h[a-b]llo 匹配 hallo 和hbllo

语法:

  • KEYS pattern

时间复杂度是O(N)

返回值:匹配pattern的所有key

?匹配任意一个字符

* 匹配0个或任意多个 任意字符

abcde\]只能匹配到a、b、c、d、e别的不行,相当于给出固定的选项了。 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/207e0c3fa72948fdb9dbfbcc9a0dbbc0.png) \[\^e\] 排除e,只有e匹配不了 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/5bf878dfdd8048b99737c58e4c49b647.png) \[a-b\] 匹配a-b这个范围内的字符,包含两侧边界 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9e5d89ce2ea946a28e44932a15d0b620.png) keys ## exists 判断某个key是否存在。 语法: * EXISTS key \[key ...

时间复杂度:O(1)
返回值:key存在的个数。

del

删除指定的 key,可以一次性删除一个或者多个

语法:

  • DEL key [key ...]

时间复杂度:O(1)

返回值:删除掉的 key 的个数。

这里我只插入了两个键值对a 1和b 2,所以一次性删除abc的时候返回值是2,代表删除的个数是2个。

expire

为指定的 key 添加秒级的过期时间(Time To Live TTL)

语法:

  • EXPIRE key seconds

seconds的意思是秒,

时间复杂度:O(1)

返回值:1 表示设置成功。0表示设置失败。

这里应当注意的是,只能对已经存在的key设置过期时间,key不存在的话,不能设置

这里先set一下key,value就可以了

expire设置的等待时间是秒,可能在某些情况下秒这个单位太大了,我们此时就可以使用pexpire,它设置的是毫秒,用法和expire相同。

ttl

获取指定 key 的过期时间,秒级。

语法:

  • TTL key

时间复杂度:O(1)

返回值:剩余过期时间。-1 表示没有关联过期时间,-2 表示 key 不存在。

type

返回 key 对应的数据类型。

语法:

  • TYPE key

时间复杂度:O(1)

返回值: none , string , list , set , zset , hash and stream。

redis中的key都是string类型的,但是key对应的value有很多种类型,比如string , list , set , zset , hash and stream。使用type就可以查看value具体是啥类型


相关推荐
沪漂阿龙4 小时前
深度解析SQL查询:从关联查询到子查询,一文掌握数据库核心技能
数据库·sql
吠品4 小时前
MySQL LEFT() 函数:精准截取字段前N位,掌握字符串处理核心
数据库·oracle
Meepo_haha4 小时前
【JOIN】关键字在MySql中的详细使用
数据库·mysql
山楂树の4 小时前
【计算机系统原理】Intel 与 AT&T 汇编指令格式转换
汇编·学习·缓存
努力学习的小廉4 小时前
redis学习笔记(九)—— Redis 持久化
redis·笔记·学习
-Da-4 小时前
【操作系统学习日记】并发编程中的竞态条件与同步机制:互斥锁与信号量
java·服务器·javascript·数据库·系统架构
Predestination王瀞潞4 小时前
Base Tools-Associate-Fifth:re库详解
数据库·mysql
山楂树の5 小时前
【计算机系统原理】 直接映射(模映射) Cache 地址划分与访问过程
学习·缓存
Ricky_Theseus5 小时前
SQL Server2008 select语句基本语法
数据库·sql
cyforkk5 小时前
缓存穿透难题:当 Value 为空字符串时,该如何优雅处理?
缓存