当前位置: 首页 > backend >正文

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

在这里插入图片描述


http://www.xdnf.cn/news/8643.html

相关文章:

  • 部署Gitlab-CE with Docker私有云环境
  • Windows系统定时备份/傲梅轻松备份
  • c++命名空间的作用及命名改编
  • 数据结构第七章(五)-散列表
  • BLIP3-o:理解和生成统一的多模态模型
  • Java 垃圾回收
  • 打卡day35
  • 产品经理常用术语大全
  • 《企业级日志该怎么打?Java日志规范、分层设计与埋点实践》
  • JWT笔记
  • 如何进行Appium实现移动端UI自动化测试?
  • 解决 Supabase “permission denied for table XXX“ 错误
  • python模块管理环境变量
  • Kafka + Flink + Spark 构建实时数仓全链路实战
  • 如何评价OpenRouter这样的大模型API聚合平台?
  • AI硬件革命:OpenAI“伴侣设备”——从概念到亿级市场的生态重构
  • c++类与对象(二)
  • 您的浏览器不支持摄像头API—仙盟创梦IDE
  • 浅析Spring AOP 代理的生成机制
  • 为什么要使用线程池
  • 【概率论基本概念01】点估计
  • 《P3435 [POI 2006] OKR-Periods of Words》
  • 【Linux网络篇】:Socket网络套接字以及简单的UDP网络程序编写
  • 【Node.js】高级主题
  • 【Linux 学习计划】-- git 在Linux远端服务器上的部署与简单使用
  • LABVIEW 通过节点属性动态改变数值显示控件的方法
  • TypeScript入门到精通
  • 【Leetcode 每日一题】2942. 查找包含给定字符的单词
  • 机器学习算法-sklearn源起
  • 语音合成之十六 语音合成(TTS)跳跃与重复问题的解析:成因、机制及解决方案