【Redis系列】Redis的核心命令(上)

   哈喽,大家好,我是小浪。那么上篇博客教会了大家如何在Linux上安装Redis,那么本篇博客就要正式开始学习Redis啦,跟着俺的随笔往下看~

1、启动Redis

  那么如何启动Redis呢?最常用的是以下这个命令:

redis-cli

启动之后如下:

看到进入了127.0.0.1:6379那么表示我们的成功进入了Redis的客户端。

2、认识Redis的命令

Redis 的命令有上百个,如果纯靠死记硬背比较困难,但是如果理解 Redis 的⼀些机制,会发现这些命令有很强的通用性,Redis 有 5 种数据结构,但它们都是键值对种的值,对于键来说有⼀些通用的命令。

一、get和set

简单设置几个key和value作为演示:

注意,这里设置的key和value都是不需要添加括号的,如果非要强行添加上括号也不是不可以,还有就是Redis中的命令是不区分大小写的 ~

2、查看刚才设置的键值对

那如果查看不存在的键值对呢?比如我们这里查看key99

我们发现报了一个nil的错误,那么这个nil和我们学习过的null有什么区别呢?

一、概念不同

Nil:表示无值,任何变量在没有被赋值之前的值都为nil。

Null:是在计算中具有保留的值。

二、功能不同

Nil:用于区别其他任何值。

Null:用于指示指针不引用有效对象。

三、针对不同

Nil:针对对象,而空对象不是说不占用空间,相当于一个“洗白”,回到初始状态。

Null:针对指针,对对象指针和非对象指针都有效,Null不会占用空间。

二、通用命令keys

由于刚才也是提到,Redis支持很多种的数据结构,但是整体上来说,Redis 是键值对结构. key是固定的,字符串value 实际上会有多种类型~包括字符串,哈希表,列表,集合等等~

那么,全局命令的意思就是能够搭配任意一个数据结构可以使用的命令~

1、keys

  keys的作用就是用来查询当前服务器上匹配的 key~  即通过一些特殊符号(通配符)来描述 key 的模样,配上述模样的 key 就能被查出来. 这里我们需要认识一下pattern这个关键词,pattern的意思就是去描述另外的字符串的模样~

2、pattern支持的通配符

  我这里首先创建几个键值对用来进行演示:

那么keys支持返回所有满足样式(pattern)的 key~

1、?匹配任意一个字符

2、* 匹配0个或者任意多个字符

3、[abcde]只能匹配a,b,c,d,e这几个字符,其他的不行

4、^a 排除a,除了a其他都能匹配到~

5、[a-e]匹配这个范围内的字符,包括边界

注意事项:keys命令的时间复杂度是O(N),所以大家如果在公司的话一定要小心谨慎,尤其是生产环境下是禁止使用 keys * 命令的(查询Redis中所有的key!),我们来操作一下keys *:

虽然只有我们刚才创建的几个键值对,我们要知道Redis经常用来当做缓存,替MySQL分担了很多的请求,万一Redis被某个keys *卡住了,其他查询操作就超时了,此时这些请求会直接查询数据库,MySQL来不及处理这些请求,可能就挂了,造成的后果非常严重~

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

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

相关文章

物联网AI MicroPython学习之语法 network网络配置模块

学物联网,来万物简单IoT物联网!! network介绍 模块功能: 用于管理Wi-Fi和以太网的网络模块参考用法: import network import time nic network.WLAN(network.STA_IF) nic.active(True) if not nic.isconnected():…

要找事做,我真怕被闲死

要找事做,我真怕被闲死 | 昨晚睡足了5个多小时,元气开始恢复,今晨6点钟醒来,如厕后无睡意,便窝在被子里闭目养神,同时想心事。 7点钟翻身起床穿衣洗刷后,烧瓶开水泡杯浓茶,打开电脑…

无人机航迹规划:五种最新智能优化算法(GRO、SWO、COA、LSO、KOA)求解无人机路径规划MATLAB

一、五种算法(GRO、SWO、COA、LSO、KOA)简介 1、淘金优化算法GRO 淘金优化算法(Gold rush optimizer,GRO)由Kamran Zolf于2023年提出,其灵感来自淘金热,模拟淘金者进行黄金勘探行为。VRPTW&am…

idea配置tomcat参数,防止nvarchar保存韩文、俄文、日文等乱码

描述下我的场景: 数据库服务器在远程机器上,数据库使用的Oracle,字符集是ZHS16GBK,但保存韩文、俄文、日文等字段A的数据类型是nvarchar(120),而nvarchar使用的是Unicode 编码,有点乱。。 遇到的问题&…

Thinkphp8 - 连接多个数据库

// 数据库连接配置信息connections > [mysql > [// 数据库类型type > mysql,// 服务器地址hostname > 127.0.0.1,// 数据库名database > thinkphp,// 用户名username > env(DB_USER, root),// 密码password >…

Java图像编程之:Graphics

一、概念介绍 1、Java图像编程的核心类 Java图像编程的核心类包括: BufferedImage:用于表示图像的类,可以进行像素级的操作。Image:表示图像的抽象类,是所有图像类的基类。ImageIcon:用于显示图像的类&a…

敏捷开发是什么?敏捷开发流程是怎么样的?

1. 什么是敏捷开发? 敏捷开发是一种迭代、增量式的软件开发方法,旨在通过灵活、协作和快速响应变化的方式,提高开发团队的效率和产品的质量。相较于传统的瀑布式开发模型,敏捷开发更加注重用户需求的响应和团队协作&#xff0…

tomcat+idea--如何在idea上发布项目

对应于idea2022以后的版本 (一)如何配置idea上的tomcat? 1、新建一个项目,左上角File,new,project,新建后就和普通的java项目一样。 2、然后点击项目名,右键选择“Add framework s…

汽车ECU的虚拟化技术初探(二)

目录 1.概述 2.U2A虚拟化方案概述 3.U2A的虚拟化功能概述 4.虚拟化辅助功能的使能 5.留坑 1.概述 在汽车ECU的虚拟化技术初探(一)-CSDN博客里,我们聊到虚拟化技术比较关键的就是vECU的虚拟地址翻译问题,例如Cortex-A77就使用MMU来进行虚实地址的转换…

C语言——贪吃蛇

一. 游戏效果 贪吃蛇 二. 游戏背景 贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的⾏列。 贪吃蛇起源于1977年的投币式墙壁游戏《Blockade》,后移植到各种平台上。具体如下: 起源。1977年,投币式…

KDE Plasma 6 将不支持较旧的桌面小部件

KDE Plasma 6 进行了一些修改,需要小部件作者进行调整。开发人员,移植时间到了! KDE Plasma 6 是备受期待的桌面环境版本升级版本。 最近,其发布时间表公布,第一个 Alpha 版本将于 2023 年 11 月 8 日上线&#xff0…

NestJS——基于Node.js 服务器端应用程序的开发框架

文章目录 前言什么是 NestJS? 一、NestJS特性?二、使用步骤Typescript 知识后端开发基本知识新建项目目录结构 前言 Nestjs中文文档 什么是 NestJS? Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的开发框架。它利用…

HuggingFace模型头的自定义

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 在本文中我们将介绍如何使HuggingFace的模型适应你的任务,在Pytorch中建立自定义模型头并将其连接到HF模型的主体&#…

如何导出PPT画的图为高清图片?插入到world后不压缩图像的设置方法?

期刊投稿的时候,需要图片保持一定的清晰度数,那么我们怎么才能从PPT中导出符合要求的图片呢? 对于矢量图绘图软件所画的图,直接导出即可。 而PPT导出的图片清晰度在60pi,就很模糊。 整体思路: PPT绘图——…

吃透 Spring 系列—MVC部分

目录 ◆ SpringMVC简介 - SpringMVC概述 - SpringMVC快速入门 - Controller中访问容器中的Bean - SpringMVC关键组件浅析 ◆ SpringMVC的请求处理 - 请求映射路径的配置 - 请求数据的接收 - Javaweb常用对象获取 - 请求静态资源 - 注解驱动 标签 ◆ SpringMV…

Leetcode421. 数组中两个数的最大异或值

Every day a Leetcode 题目来源:421. 数组中两个数的最大异或值 解法1:贪心 位运算 初始化答案 ans 0。从最高位 high_bit 开始枚举 i,也就是 max⁡(nums) 的二进制长度减一。设 newAns ans 2i,看能否从数组 nums 中选两个…

【ATTCK】MITRE Caldera -前瞻规划器

CALDERA是一个由python语言编写的红蓝对抗工具(攻击模拟工具)。它是MITRE公司发起的一个研究项目,该工具的攻击流程是建立在ATT&CK攻击行为模型和知识库之上的,能够较真实地APT攻击行为模式。 通过CALDERA工具,安全…

深入了解JVM和垃圾回收算法

1.什么是JVM? JVM是Java虚拟机(Java Virtual Machine)的缩写,是Java程序运行的核心组件。JVM是一个虚拟的计算机,它提供了一个独立的运行环境,可以在不同的操作系统上运行Java程序。 2.如何判断可回收垃圾…

机器学习数据预处理——Word2Vec的使用

引言: Word2Vec 是一种强大的词向量表示方法,通常通过训练神经网络来学习词汇中的词语嵌入。它可以捕捉词语之间的语义关系,对于许多自然语言处理任务,包括情感分析,都表现出色。 代码: 重点代码&#…

C# PaddleInference.PP-HumanSeg 人像分割 替换背景色

效果 项目 VS2022.net4.8OpenCvSharp4Sdcb.PaddleInference 包含4个分割模型 modnet-hrnet_w18 modnet-mobilenetv2 ppmatting-hrnet_w18-human_512 ppmattingv2-stdc1-human_512 代码 using OpenCvSharp; using Sdcb.PaddleInference; using System; using System.Col…