Redis基本全局命令

news2024/9/30 23:03:05

文章目录

  • get和set
  • keys
  • exists
  • del
  • expire
  • ttl
  • type

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别的不行,相当于给出固定的选项了。
在这里插入图片描述

[^e] 排除e,只有e匹配不了
在这里插入图片描述

[a-b] 匹配a-b这个范围内的字符,包含两侧边界
在这里插入图片描述
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具体是啥类型

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux系统编程-网络-tcp(29)

C/S B/S P2p模型 在Linux系统编程中,C/S(Client/Server,客户端/服务器)和B/S(Browser/Server,浏览器/服务器)模型是两种常见的架构模式,用于构建分布式应用程序。它们在设计和实现上…

C语言 | Leetcode C语言题解之第384题打乱数组

题目: 题解: typedef struct {int* num;int* src;int numsize; } Solution;Solution *obj NULL;Solution* solutionCreate(int* nums, int numsSize) {if (obj ! NULL) {return obj;}Solution *obj (Solution*)malloc(sizeof(Solution));obj->nums…

#C++ 笔记二

四、运算符重载 1.友元 1.1 概念 类实现了数据的隐藏和封装,类的数据成员一般定义为私有成员,仅能通过类的公有成员函数才能进行读写。 如果数据成员定义成公共的,则又破坏了封装性。但是在某些情况下,需要频繁的读写数据成员…

Java 7.3 - 分布式 id

分布式 ID 介绍 什么是 ID? ID 就是 数据的唯一标识。 什么是分布式 ID? 分布式 ID 是 分布式系统中的 ID,它不存在于现实生活,只存在于分布式系统中。 分库分表: 一个项目,在上线初期使用的是单机 My…

2-80 基于matlab-GUI,实现kalman滤波对目标物的位置进行检测跟踪

基于matlab-GUI,实现kalman滤波对目标物的位置进行检测跟踪。检测汽车中心和最大半径,与背景差分选择较大差异的区域进行形态学处理,用冒泡法对目标面积从大到小排序。程序已调通,可直接运行。 2-80 kalman视频跟踪滤波 - 小红书 (xiaohongsh…

光学涡旋Talbot阵列照明器的matlab模拟与仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 光学涡旋 Talbot 阵列照明器是一种利用光学涡旋(Optical Vortex)和 Talbot 效应(Talbot Effect)相结合的技术&…

【HTML源码】上传即可使用的在线叫号系统源码

这个叫号系统的过程是这样的 接了一个任务,某学校要对学生进行逐个面试,希望能有类似医院门诊那种叫号系统。 条件:首先说硬件,就是教室里边一台笔记本电脑,同屏到教室外面的电视机。 需求:软件需求是可…

汉诺塔递归解决思路图解分析,python代码实现

目录 4.假设四层汉诺塔,n4,利用整体思想分解为两层的情况 3.分解到n3 3.1 分解上面n4时第一个步骤: 3.2 分解上面n4时第三个步骤: 2.继续分解到n2 (同理略) 1.当分解到n1 python代码 问题&#xff1…

【Linux】升级OpenSSH版本规避远程代码执行漏洞

本文首发于 ❄️慕雪的寒舍 升级OpenSSH版本规避远程代码执行漏洞。 说明 今天早上逛别人的博客的时候看到了这个重磅消息。OpenSSH爆出能远程通过root身份执行任意代码的漏洞&#xff0c;影响版本是 8.5p1 < OpenSSH < 9.8p1&#xff0c;奇安信的报告可以点我查看。 上…

计算机三级网络第4套练习记背

计算机三级网络第4套练习记背

全志/RK安卓屏一体机:医疗自助服务终端,支持鸿蒙国产化

医疗自助服务终端 为了解决传统医疗模式下的“看病难、看病慢”等问题&#xff0c;提高医疗品质、效率与效益&#xff0c;自助服务业务的推广成为智慧医疗领域实现信息化建设、高效运作的重要环节。 医疗自助服务终端是智慧医疗应用场景中最常见的智能设备之一&#xff0c;它通…

Linux学习笔记(4)----Debian压力测试方法

使用命令行终端压力测试需要两个实用工具&#xff1a;s-tui和stress sudo apt install s-tui stress 安装完成后&#xff0c;在终端中启动 s-tui实用工具&#xff1a; s-tui 执行后如下图&#xff1a; 你可以使用鼠标或键盘箭头键浏览菜单&#xff0c;然后点击“压力选项(Str…

day44.动态规划

718.最长重复子数组 给两个整数数组 nums1 和 nums2 &#xff0c;返回 两个数组中 公共的 、长度最长的子数组的长度 。 思路:1.确定dp数组&#xff08;dp table&#xff09;以及下标的含义: dp[i][j] &#xff1a;以下标i - 1为结尾的A&#xff0c;和以下标j - 1为结尾的B&…

【论文速读】|RO-SVD:一种用于 AIGC 应用的可重构硬件版权保护框架

本次分享论文&#xff1a;RO-SVD: A Reconfigurable Hardware Copyright Protection Framework for AIGC Applications 基本信息 原文作者&#xff1a;Zhuoheng Ran, Muhammad A.A. Abdelgawad, Zekai Zhang, Ray C.C. Cheung, Hong Yan 作者单位&#xff1a;香港城市大学电…

linux 内核代码学习(七)

linux内核代码的研究中断了一段时间了&#xff0c;现在又重新开始了研究&#xff0c;个人觉得linux内核的学习是没有上限的&#xff0c;总是一个温故而知新的过程&#xff0c;是一个不断积累的过程。首先还是要先搭建一个方便自己学习和研究的平台&#xff0c;经过不断的尝试&a…

Java的IO模型详解-BIO,NIO,AIO

一、BIO相关知识 Java 的 BIO (Blocking I/O) 模型是基于传统的同步阻塞 I/O 操作。在这种模型中&#xff0c;每个客户端连接都需要一个独立的线程来处理请求。当线程正在执行 I/O 操作时&#xff08;如读取或写入&#xff09;&#xff0c;它会被阻塞&#xff0c;直到操作完成…

三级_网络技术_55_应用题

一、 请根据下图所示网络结构回答下列问题。 1.填写RG的路由表项。 目的网络/掩码长度输出端口__________S0&#xff08;直接连接&#xff09;__________S1&#xff08;直接连接&#xff09;__________S0__________S1__________S0__________S1 (2)在不改变路由表项的前提下&…

django学习入门系列之第十点《案例 用户登录》

文章目录 案例 用户登录安全认证django中的隐藏值获得用户账户密码空值 往期回顾 案例 用户登录 安全认证 ​ 如果提交数据后&#xff0c;发现并没有跳转到自己想要的界面&#xff0c;是因为django比Flask多一层 ”安全机制“ 的东西 解决方法&#xff1a; {% csrf_token %…

使用maven搭建微服务框架

徒手搭建cloud 1.认准SpringBoot,SpringCloud,SpringCloudAlibaba版本之间的对用关系 官网给出了声明&#xff1a;https://github.com/alibaba/spring-cloud-alibaba/wiki 2.选择好版本之后 spring bootspring cloudspring cloud alibaba2.3.12.RELEASEHoxton.SR102.2.5.REL…

Ps:工具预设面板

Ps菜单&#xff1a;窗口/工具预设 Window/Tool Presets 工具预设 Tool Presets面板可以为 Photoshop 的图像编辑工作带来极大的便利。 定义好相关的工具预设后&#xff0c;可以直接调用&#xff0c;而不管现在处于什么工具或什么样的参数状态&#xff0c;省去了再次设置参数的麻…