【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,一经查实,立即删除!

相关文章

jedis、lettuce与redis交互分析

概念梳理: redis是缓存服务器,jedis、lettuce都是Java语言下的redis客户端,用于与redis服务器进行交互。springboot项目中一般使用的是spring data redis,spring data redis依赖与jedis或lettuce,可以进行配置&#x…

物联网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…

3、FFmpeg基础

1、FFmpeg 介绍 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库。 2、FFmpeg 组成 - libavformat:用于各种音视频[封装…

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

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

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

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

JUL日志

文章目录 JUL日志JUL日志讲解Properties配置文件编写日志配置文件Lombok快速开启日志Mybatis日志系统 JUL日志 如果使用System.out.println来打印信息,项目中存在大量的控制台输出语句,会显得很凌乱,而且日志的粒度是不够细的,假…

汽车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…

Elasticsearch概述

Elasticsearch(ES)是一个基于Lucene库构建的开源搜索引擎。它提供了一个分布式、多租户的全文搜索引擎,具有RESTful Web界面。Elasticsearch的主要特点包括: 分布式搜索引擎: Elasticsearch被设计为一个分布式系统&…

SpringCloud——负载均衡——OpenFeign

Feign是一个声明式的客户端接口,相比RestTemplate,更好的简化了微服务之间的调用方式。而且Feign默认集成了Ribbon,可以实现负载均衡。 1.OpenFeign与Feign OpenFeign在Feign的基础上支持SpringMVC的注解。OpenFeign的FeignClient可以解析Re…

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

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

HuggingFace模型头的自定义

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

Web相机和浏览器的二维码扫描方案

Web相机和适用于浏览器的二维码扫描方案 qr-camera 在线体验 | English 功能 支持浏览器扫描二维码支持拍照支持录像功能支持二维码解析和生成 quickstart npm i qr-cameraimport {QRCamera} from qr-camera;function main(){const camera new QRCamera();document.body…

编写http接口api及接口自动化测试

片言 此文中代码都是笔者工作中源码,所以不会很完整,主要摘常见场景的api片段用以举例说明 另:此文主要针对自动化测试人员,尤其有python基础阅读更佳。 笔者使用 python3.6 postgresql10 flask 0.12 的环境 场景介绍 我们要实现后台…