Redis 常用的基本命令

🔥博客主页:fly in the sky - CSDN博客
🚀欢迎各位:点赞👍+收藏⭐️+留言✍️🚀

🎆慢品人间烟火色,闲观万事岁月长🎆

📖希望我写的博客对你有所帮助,如有不足,请指正📖✍️

文章目录

    • Redis 最核心命令:get 和 set
    • Redis 的全局命令
      • keys 命令
      • exists 命令
      • del 命令
      • expire 命令
      • ttl 命令
      • type 命令
    • Redis 常用基本命令的总结

Redis 最核心命令:get 和 set

Redis 是按照键值对Key-Value的方式存储数据的

Redis 最核心命令:get 和 set
get 根据 key 来取 value
set 把 key 和 value 存诸进去

必须要先进入 redis-cli 客户端程序,才能输入Redis命令
通过以下命令启动 Redis,并使用 Redis 自带的客户端来连接服务器

redis-server /etc/redis/redis.conf
redis-cli

代码示例:

set key value1
set key1 value1
set key2 value2
get key1
get key0213

在这里插入图片描述
get 命令直接输入 key 就能得到 value,如果当前 key 不存在,会返回 nil ,和 null/NULL 有些类似

What ls the Difference Between’Null’and’Nil’

'Null’and 'nil’are synonymous and both mean 'zero’or ‘nothing’ in value.The two words differ mainly by what field we use them in. We use 'null’mostly in maths, programming, business, and legal matters.On the otherhand, we use ‘nil’ in sports and games.

nullnil之间的区别 :
Nullnil是同义词,都表示值为0nothing
这两个词的区别主要在于我们使用它们的领域。
我们主要在数学、编程、商业和法律事务中使用null,另一方面,我们在体育和游戏中使用nil


Redis 的全局命令

Redis 支持很多种数据结构,全局命令,就是能够搭配任意一个数据结构来使用的命令
Redis 自身的这些键值对,是通过哈希表的方式来组织的。键值对中的 key 固定是字符串,但是 value 可以是字符串,哈希表,列表,集合,有序集合这些多种类型

keys 命令

用来查询当前服务器上匹配的 key,通过一些特殊符号(通配符)来描述 key 的模样,匹配上述模样的 key 就能被查询出来

语法:

KEYS pattern

时间复杂度:O(N)
返回值:匹配 pattern 的所有 key
pattern:包含特殊符号的字符串,翻译成"样式"或者"模式",存在的意义,对匹配字符串要求的描述

pattern 支持的匹配符

  1. ?:匹配任意一个字符
    示例:h?llo 匹配 hellohallohxllo

     set hello 1
     set hallo 2
     set hxllo 3 
     keys h?llo
    

    在这里插入图片描述

  2. *:匹配0个或者多个任意字符
    示例:h*llo 匹配 hlloheeeello

    set hllo 1
    set heeeello 2
    keys h*llo
    

    在这里插入图片描述
    注:keys * => 查询 redis 中所有的 key

  3. [][ae]只能匹配到 a, e。相当于选择题给出固定的选项
    示例:h[ae]llo 匹配 hellohallo, 但不匹配 hillo

    set hello 1
    set hallo 2
    set hillo 3
    keys h[ae]llo
    

    在这里插入图片描述


  4. [^e]:排除 e,只有e匹配不了,其他的都能匹配。可以理解考试时我们做选择题的排除法
    示例:h[^e]llo 匹配 hallo , hbllo , … 但不匹配 hello

    set hallo 1
    set hbllo 2
    set hello 3
    keys h[^e]llo
    

    在这里插入图片描述

  5. [a-b]:匹配 a - b 这个范围内的字符,包含两侧边界
    示例:h[a-b]llo 匹配 hallo hbllo, 但不匹配 hcllo

    set hallo 1
    set hbllo 2
    set hcllo 3
    keys h[a-b]llo
    

    在这里插入图片描述




exists 命令

判断 key 是否存在

语法:

EXISTS key [key ...]

时间复杂度:O(1)
返回值:key 存在的个数(针对多个 key)
Redis 按照哈希表的方式来组织 key 的,哈希表的查询时间复杂度是 O(1)


Redis 已存在的 key
在这里插入图片描述
示例1:

EXISTS hello
EXISTS hallo

示例2:

EXISTS hello hallo

在这里插入图片描述

示例1 和 示例2 的区别:

Redis 是一个客户端服务器结构的程序,客户端和服务器之间通过网络来进行通信;
示例1 相对于示例2 会产生更多轮次的网络通信,效率更低,成本更高

在这里插入图片描述




del 命令

del (delete) 删除指定的 key, 可以一次删除一个或者多个

语法:

DEL key [key ...]

时间复杂度:O(1)
返回值:删除掉的 key 的个数

示例:

keys *
del hillo
del hello hallo aaa
keys *

在这里插入图片描述



expire 命令

expire 作用是给指定的 key 设置过期时间:key 存活时间超出这个指定的值,就会被自动删除
此处设定过期时间,必须是针对已经存在的 key 设置
注: 1. 这里的 expire 时间单位是 秒/s
2. 需要设置毫秒的过期时间,使用 pexpire命令,使用: pexpire key 毫秒

语法:

EXPIRE key seconds

时间复杂度:O(1)
返回值:1 表⽰设置成功,0 表⽰设置失败

使用场景:比如手机验证码,该验证码,5分钟内有效;点外卖,优惠券,在指定时间之内有效
设置成功返回1,设置失败返回0

示例:

set hello 1
expire hello 7
get hello
get hello

在这里插入图片描述



ttl 命令

TTL (Time To Live),查看当前指定 key 的过期时间,秒级
注:有pttl 命令与上述的 pexpire 命令是对应的

语法:

TTL key

时间复杂度:O(1)
返回值:剩余过期时间,-1 表⽰没有关联过期时间,-2 表⽰ key 不存在

示例:

set fly 0213
expire fly 7
ttl fly
ttl fly
ttl fly
ttl fly

在这里插入图片描述

再次 get hello, 会发现 hello 已经消失了,说明 这个 key 时间到,就被删除了

get hello

在这里插入图片描述




type 命令

Redis 所有的 key 都是 string,但是 key 对应的 value 是可能会存在多种类型的, type 命令就是会返回 key 对应的数据类型

语法:

TYPE key

时间复杂度:O(1)
返回值: none , string , list , set , zset , hash and stream …。
注意: stream 是 Redis 作为消息队列的时候,使用这个类型的 value

示例:

  1. none
    127.0.0.1:6379> type key1
    none
    
  2. string
    127.0.0.1:6379> set key2 222
    OK
    127.0.0.1:6379> type key2
    string
    
  3. list
    127.0.0.1:6379> lpush key3 111 222 333
    (integer) 6
    127.0.0.1:6379> type key3
    list
    
  4. set
    127.0.0.1:6379> sadd key4 111 222 333
    (integer) 1
    127.0.0.1:6379> type key4
    set
    
  5. hash
    127.0.0.1:6379> hset key5 field1 value1
    (integer) 1
    127.0.0.1:6379> type key5
    hash
    



Redis 常用基本命令的总结


命令对应的作用
keys用来查看匹配规则的 key
exists用来判定指定 key 是否存在
del删除指定的 key
expire给 key 设置过期时间
ttl查询 key 的过期时间
type查询 key 对应的 value 的类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/531049.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MUNK电源维修GmbH高频电源E230 G60/45 WRG-TFMYCT24

德国MUNK电源维修主要系列:ΡKA2,DCAC100,AS100,HS100,ESA2000, HSG2000,E230 G60/45;E230 G100,D400 G100全系列型号。 常见维修型号包括:D400 G100/75WRG-…

wsl下Linux使用chatglm.cpp记录

前言 Linux之前用的少,多数还是在Windows下操作,导致对Linux很陌生,而且思维定势的,一有什么操作,还是习惯性在Windows下操作。 在chatglm.cpp操作上也是如此,但是代码可不管你这些,该报错就报…

【面试题】微博、百度等大厂的排行榜如何实现?

背景 现如今每个互联网平台都会提供一个排行版的功能,供人们预览最新最有热度的一些消息,比如百度: 再比如微博: 我们要知道,这些互联网平台每天产生的数据是非常大,如果我们使用MySQL的话,db实…

Git 解决分支冲突

一、前言 一直习惯于 add commit push 的三步走,偶然间看到了一个评论说在 push 之前还有一个 pull,小小的疑问就埋在了我的心里。于是我就先了解了 pull 的工作原理,就是先拉取代码(fetch)再合并分支(mer…

【Qt 学习笔记】QWidget的enable属性 | API的介绍

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ QWidget的enable属性 文章编号:Qt 学习笔记 / 15 文章目录…

【IC前端虚拟项目】验证环境方案思路和文档组织

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 对于mvu的验证环境,从功能角度就可以分析出需要搭建哪些部分,再看一下mvu的周围环境哈: 很明显验证环境必然要包括几个部分: 1.模拟idu发送指令; 2.模拟ram/ddr读写数据; 3.rm模拟mvu的行为; …

小白学Java成长日记特别篇

晚上好,各位小伙伴。今天给大家带来的是Java的输出补充篇,前两篇说了输出和输入的大概,但我没有详细讲它俩,因此这篇文章来详细的聊一聊它俩。那么废话不多说,我们赶紧进入正题。 首先讲一讲这个Java的输出吧。 输出格…

IP协议中的四大支柱:DHCP、NAT、ICMP和IGMP的功能剖析

DHCP动态获取 IP 地址 我们的电脑通常都是通过 DHCP 动态获取 IP 地址,大大省去了配 IP 信息繁琐的过程。 客户端首先发起 DHCP 发现报文(DHCP DISCOVER) 的 IP 数据报,由于客户端没有 IP 地址,也不知道 DHCP 服务器的…

【C++第二阶段】文件操作

以下内容仅为当前认识,可能有不足之处,欢迎讨论! 文章目录 文件操作文件写入流程简单的demo写操作 文件读流程二进制写文件二进制读文件 文件操作 文件写入流程 写文件包括以下几个步骤 1.包含头文件 2.创建流对象 3.打开文件&#xff0…

重装系统前备份笔记

一、点查看自定义快捷键可以定义一些快速启动方式 然后用不习惯的快捷键也能在这里改 二、android studio 快捷键导出备份 导入方法: android studio ->file->import setting ->选择jar包即可 导出studio的设置方法: android …

【行业资讯】AI算力的需求推动光模块行业快速迭代

近期,由OpenAI发布的人工智能文生视频大模型Sora再次引起了不小的轰动,继ChatGPT之后,Sora的推出让AIGC(生成式人工智能)再度成为行业焦点,AI大模型的快速迭代升级对网络架构提出了更高要求,推动…

SpringBoot学习笔记三-原理分析

SpringBoot学习笔记三-原理分析 SpringBoot自动装配1.1 案例1.2 通过注解方式管理Bean1.3 小结1.4 Enable注解1.5 Import注解1.5.1 ImportSelector实现类1.5.2 导入ImportBeanDefinitionRegistrar 1.5 EnableAutoConfiguration1.6 案例 SpringBoot自动装配 当再pom.xml中导入对…

ceph集群搭建

一、前言 本次搭建ceph集群,使用centos7版本的系统,最高支持ceph版本为15.2.13,如需更高的版本需要使用centos8版本以上的系统,使用cephadm进行搭建,Cephadm 是一个用于部署、管理和监控 Ceph 集群的工具,它…

Towards IP Geolocation Using Delay and TopologyMeasurements(TBG)(2006年)

下载地址:Towards IP geolocation using delay and topology measurements | Proceedings of the 6th ACM SIGCOMM conference on Internet measurement 被引次数:492 Katz-Bassett E, John J P, Krishnamurthy A, et al. Towards IP geolocation using delay and topology …

【鸿蒙开发】系统组件Column

Column组件 Column沿垂直方向布局的容器。 接口: Column(value?: {space?: string | number}) 参数: 参数名 参数类型 必填 参数描述 space string | number 否 纵向布局元素垂直方向间距。 从API version 9开始,space为负数或者…

洪水预警:如何通过数据可视化提前应对灾害

数据可视化在应对洪涝灾害问题中发挥着重要作用。洪涝灾害是一种常见而严重的自然灾害,给人们的生命、财产和生活带来了巨大的威胁和损失。而数据可视化技术通过将海量的数据转化为直观、易懂的图表、图像或地图等形式,帮助人们更好地理解洪涝灾害的发生…

PostgreSQL入门到实战-第十三弹

PostgreSQL入门到实战 PostgreSQL数据过滤(六)官网地址PostgreSQL概述PostgreSQL中IN命令理论PostgreSQL中IN命令实战更新计划 PostgreSQL数据过滤(六) 使用PostgreSQL IN运算符来检查值是否与列表中的任何值匹配 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容…

宁波宠物展|2024中国(宁波)国际宠物用品博览会

中国(宁波)国际宠物用品博览会 地点:宁波国际会展中心 时间:2024年11月14-16日 主办单位:凤麟展览(宁波)有限公司 协办单位:浙江省宠物产业协会 宁波市跨境电子商务协会 宁波欧德国际商务咨询服务有限公司 宁波扬扬会议展览有限公司 20000方展览…

大模型的实践应用20-一种内存高效微调技术LISA,效果比LoRA有显著提升

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用20-一种内存高效微调技术LISA,效果比LoRA有显著提升。LISA是一种新型的微调技术,全称为Layerwise Importance Sampled AdamW,由UIUC联合LMFlow团队提出。这项技术…

PUBG绝地求生29.1版本加速器推荐 免费低延迟不丢包加速器

绝地求生是一款多人大逃杀游戏,游戏有多张地图可供玩家选择,玩家空投跳伞至地图的各个角落,赤手空拳寻找武器,车辆以及物资,并在多种多样的地形中展开战斗,枪械角色身上可携带4种武器,分别是近战…