Redis ④-通用命令

news2025/4/21 9:37:55

在这里插入图片描述
Redis 是一个 客户端-服务器 结构的程序,这与 MySQL 是类似的,这点需要牢记!!!
Redis 固然好,但也不是任何场景都适合使用 Redis,一定要根据当前的业务需求来选择是否使用 Redis

Redis 通用命令

Redis 的命令有很多,借助官方文档可以更快的找到自己想要的命令
Redis 命令参考

set get

set key value
get key

getset 是 Redis 最基本的命令,用于获取和设置键值对。

如果键不存在,get 会返回 nilset 会创建一个新键。

What Is the Difference Between ‘Null’ and ‘Nil’
‘Null’ and ‘Nil’ are synonymous and both mean ‘zero’ or ‘nothing’ in value. The two words differ by what field we use them in. We use ‘Null’ mostly in maths, programming, business, and legal matters. On the other hand, we use ‘Nil’ in sports and games.
keyvalue 都是字符串类型,不需要加上引号,加上单引号和双引号也不会报错,但是不推荐。

Redis 的命令是不区分大小写的,但是推荐使用小写,因为更好看~~

keys

keys pattern

keys 命令用于获取所有键的名称。

pattern 表示匹配模式,Redis 官方提供了多种匹配模式,可以根据需要选择:

h?llo matches hello, hallo and hxllo ? 匹配任何单个字符
h*llo matches hllo and heeeello *匹配任何数量的字符
h[ae]llo matches hello and hallo, but not hillo [ae] 只能匹配 a 和 e
h[^e]llo matches hallo, hbllo, … but not hello [^e] 匹配除了 e 之外的任何字符
h[a-b]llo matches hallo and hbllo, but not hello or hillo [a-b] 匹配 a 到 b 之间的任何字符
注意事项:
keys * 可以获取所有键,但是不推荐使用,因为 Redis 使用的是单线程,如果数据库里有大量的键,会导致查询速度缓慢,从而影响其他客户端的请求响应。

当使用 Redis 作为缓存数据库(MySQL)时,若 Redis 服务器阻塞,则可能会导致全量数据库的请求突增,导致数据库崩溃。

exists

exists key [key...]

exists 命令用于判断键是否存在。

返回值为 key 存在的个数,如果 key 不存在,则返回 0。

一次性可以查询多个键是否存在。

如果有一次性查询多个键的需求,也更推荐一次性查询完所有需要查询的。由于 Redis 客户端 和 Redis 服务器之间是通过网络通信的,每发起一次查询都会构造一个请求,多次查询会导致效率比较低。

del

del key [key...]

del 命令用于删除键。

返回值为被删除的 key 数量。

如果作为 缓存数据库,可以使用 del 命令删除一些没用的键,因为数据还是存储在全量数据库里。

如果作为 全量数据库,则不推荐使用 del 命令

如果作为消息队列,则根据业务需求来看

expire

expire key seconds

expire 命令用于设置键的过期时间。

返回 1 表示设置成功,0 表示设置失败。

pexpire

pexpire key milliseconds-timeout

pexpire 命令用于设置键的过期时间,单位是毫秒。

返回 1 表示设置成功,0 表示设置失败。

ttl

ttl key

ttl 命令用于获取键的剩余过期时间。

返回值是秒数,-1 表示没有设置过期时间,-2 表示键不存在。

pttl

pttl key

pttl 命令用于获取键的剩余过期时间,单位是毫秒。

返回值是毫秒数,-1 表示没有设置过期时间,-2 表示键不存在。

type

type key

type 命令用于获取改键对应的值的类型。

返回值可以是 string, list, set, zset, hash, stream…


Redis 键的过期策略

Redis 键的过期策略主要有两种:

  • 定期删除:Redis 会在一定时间内,抽取一部分键,查看其是否过期,如果过期,则删除。由于 Redis 是单线程的,所以需要尽可能这个过程足够快,不然会影响其他客户端的请求响应。
  • 惰性删除:Redis 不会主动删除过期的键,而是客户端每次获取键时,检查是否过期,如果过期,则删除该键,同时返回一个 nil。

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

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

相关文章

卷积神经网络(CNN)与VGG16在图像识别中的实验设计与思路

卷积神经网络(CNN)与VGG16在图像识别中的实验设计与思路 以下从基础原理、VGG16架构解析、实验设计步骤三个层面展开说明,结合代码示例与关键参数设置,帮助理解其应用逻辑。 一、CNN与VGG16的核心差异 基础CNN结构 通常包含33~55个…

玩机搞机基本常识-------小米OLED屏幕机型怎么设置为永不休眠_手机不息屏_保持亮屏功能 拒绝“烧屏” ?

前面在帮一位粉丝解决小米OLED机型在设置----锁屏下没有永不休眠的问题。在这里,大家要明白为什么有些小米机型有这个设置有的没有的原因。区分OLED 屏幕和 LCD屏幕的不同。从根本上拒绝烧屏问题。 OLED 屏幕的一些优缺点💝💝💝 …

2021-11-14 C++三七二十一数

缘由c编程怎么写&#xff0c;紧急求解-编程语言-CSDN问答 void 三七二十一数() {//缘由https://ask.csdn.net/questions/7566632?spm1005.2025.3001.5141int n 0, a 0, b 0, p 1;std::cin >> n;while (n--){std::cin >> a >> b;while (a<b){if (a %…

安全生产责任制考核方案与风险评估

安全生产责任制考核方案旨在通过有效落实国家安全生产法律法规&#xff0c;确保煤矿及相关单位的安全管理机制建立与运行&#xff0c;减少生产安全事故的发生。方案强调通过定期的量化考核和系统化评估&#xff0c;确保安全生产责任的有效落实。考核涉及集团公司各单位及相关人…

强制重装及验证onnxruntime-gpu是否正确工作

#工作记录 我们经常会遇到明明安装了onnxruntime-gpu或onnxruntime后&#xff0c;无法正常使用的情况。 一、强制重新安装 onnxruntime-gpu 及其依赖 # 强制重新安装 onnxruntime-gpu 及其依赖 pip install --force-reinstall --no-cache-dir onnxruntime-gpu1.18.0 --extra…

设计模式 --- 外观模式

外观模式是一种结构型设计模式&#xff0c;为复杂子系统提供​​统一的高层接口​​&#xff0c;通过定义一个外观类来​​简化客户端与子系统的交互​​&#xff0c;降低系统耦合度。这种模式隐藏了子系统的复杂性&#xff0c;将客户端与子系统的实现细节隔离开来&#xff0c;…

用python脚本怎么实现:把一个文件夹里面.png文件没有固定名称,复制到另外一个文件夹按顺序命名?

环境&#xff1a; python3.10 Win10 问题描述&#xff1a; 用python脚本怎么实现&#xff1a;怎么把一个文件夹里面.png文件没有固定名称&#xff0c;复制到另外一个文件夹按顺序命名&#xff1f; 解决方案&#xff1a; 1.新建一个脚本文件&#xff0c;内容如下&#xff1…

山东大学软件学院创新项目实训开发日志(20)之中医知识问答自动生成对话标题bug修改

在原代码中存在一个bug&#xff1a;当前对话的标题不是现有对话的用户的第一段的前几个字&#xff0c;而是历史对话的第一段的前几个字。 这是生成标题的逻辑出了错误&#xff1a; 当改成size()-1即可

ZYNQ笔记(十):XADC (PS XDAC 接口)

版本&#xff1a;Vivado2020.2&#xff08;Vitis&#xff09; 任务&#xff1a;通过 PS XADC 接口读取XADC测量的芯片温度、供电电压&#xff0c;并通过串口打印出来 目录 一、介绍 二、硬件设计 三、软件设计 四、效果 一、介绍 XADC&#xff08;Xilinx Analog-to-Digital…

【C++】多态 - 从虚函数到动态绑定的核心原理

&#x1f4cc; 个人主页&#xff1a; 孙同学_ &#x1f527; 文章专栏&#xff1a;C &#x1f4a1; 关注我&#xff0c;分享经验&#xff0c;助你少走弯路 文章目录 1. 多态的概念2. 多态的定义及实现2.1 多态的构成条件2.1.1实现多态还有两个必须重要条件&#xff1a;2.1.2 虚…

免费图片软件,可矫正倾斜、调整去底效果

软件介绍 有个超棒的软件要给大家介绍一下哦&#xff0c;它就是——ImgTool&#xff0c;能实现图片漂白去底的功能&#xff0c;而且重点是&#xff0c;它是完全免费使用的呢&#xff0c;功能超强大&#xff01; 软件特点及使用便捷性 这软件是绿色版本的哟&#xff0c;就像一…

Kubernetes(k8s)学习笔记(二)--k8s 集群安装

1、kubeadm kubeadm 是官方社区推出的一个用于快速部署 kubernetes 集群的工具。这个工具能通过两条指令完成一个 kubernetes 集群的部署&#xff1a; 1.1 创建一个 Master 节点$ kubeadm init 1.2 将一个 Node 节点加入到当前集群中$ kubeadm join <Master 节点的 IP 和…

【论文阅读笔记】模型的相似性

文章目录 The Platonic Representation Hypothesis概述表征收敛的依据表征收敛的原因实验依据未来发展的局限性 Similarity of Neural Network Representations Revisited概述问题背景相似性度量s的性质可逆线性变换不变性正交变换不变性各向同性缩放不变性典型度量满足的性质 …

扣子智能体1:创建Agent与写好提示词

文章目录 Agent是什么使用扣子创建智能体写好提示词生成故事发布Agent 最近学了很久多agent协同、编排工作流等与agent有关的内容&#xff0c;这里用一系列博客&#xff0c;把这些操作都一步一个脚印的记录下来。 这里我们以一个Agent为例&#xff1a;睡前灵异小故事 Agent是…

Spring源码中关于抽象方法且是个空实现这样设计的思考

Spring源码抽象方法且空实现设计思想 在Spring源码中onRefresh()就是一个抽象方法且空实现&#xff0c;而refreshBeanFactory()方法就是一个抽象方法。 那么Spring源码中onRefresh方法定义了一个抽象方法且是个空实现&#xff0c;为什么这样设置&#xff0c;好处是什么。为…

【Bluedroid】蓝牙 HID 设备信息加载与注册机制及配置缓存系统源码解析

本篇解析Android蓝牙子系统加载配对HID设备的核心流程&#xff0c;通过btif_storage_load_bonded_hid_info实现从NVRAM读取设备属性、验证绑定状态、构造描述符并注册到BTA_HH模块。重点剖析基于ConfigCache的三层存储架构&#xff08;全局配置/持久设备/临时设备&#xff09;&…

字节头条golang二面

docker和云服务的区别 首先明确Docker的核心功能是容器化&#xff0c;它通过容器技术将应用程序及其依赖项打包在一起&#xff0c;确保应用在不同环境中能够一致地运行。而云服务则是由第三方提供商通过互联网提供的计算资源&#xff0c;例如计算能力、存储、数据库等。云服务…

数字化工厂五大核心系统(PLM 、ERP、WMS 、DCS、MOM)详解

该文档聚焦数字化工厂的五大核心系统&#xff0c;适合制造业企业管理者、信息化建设负责人、行业研究人员以及对数字化转型感兴趣的人士阅读。 文档先阐述数字化工厂的定义&#xff0c;广义上指企业运用数字技术实现产品全生命周期数字化&#xff0c;提升经营效益&…

n8n 中文系列教程_02. 自动化平台深度解析:核心优势与场景适配指南

在低代码与AI技术深度融合的今天&#xff0c;n8n作为开源自动化平台正成为开发者提效的新利器。本文深度剖析其四大核心技术优势——极简部署、服务集成、AI工作流与混合开发模式&#xff0c;并基于真实场景测试数据&#xff0c;厘清其在C端高并发、多媒体处理等场景的边界。 一…

SQL注入之information_schema表

1 information_schema表介绍&#xff1a; information_schema表是一个MySQL的系统数据库&#xff0c;他里面包含了所有数据库的表名 SQL注入中最常见利用的系统数据库&#xff0c;经常利用系统数据库配合union联合查询来获取数据库相关信息&#xff0c;因为系统数据库中所有信…