常用Redis的键命令参考

一、DEL

DEL key [key …] 删除给定的一个或多个 key 。

不存在的 key 会被忽略。

#删除单个键127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> del name
(integer) 1# 删除一个不存在的 key, 失败,没有 key 被删除127.0.0.1:6379> EXISTS phone
(integer) 0
127.0.0.1:6379> del phone 
(integer) 0# 同时删除多个 key127.0.0.1:6379> set name redis
OK
127.0.0.1:6379> set type hello
OK
127.0.0.1:6379> set age 13
OK
127.0.0.1:6379> del name type age
(integer) 3
二、DUMP

DUMP key

序列化给定 key ,并返回被序列化的值,使用 RESTORE 命令可以将这个值反序列化为 Redis 键。

序列化生成的值有以下几个特点: 

(1)它带有 64 位的校验和,用于检测错误, RESTORE 在进行反序列化之前会先检查校验和。 值的编码格式和 RDB 文件保持一致。

(2)RDB 版本会被编码在序列化值当中,如果因为 Redis 的版本不同造成 RDB 格式不兼容,那么 Redis 会拒绝对这个值进行反序列化操作。

(3)序列化的值不包括任何生存时间信息。

# 如果 key 不存在,那么返回 nil 。否则,返回序列化之后的值。
127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> dump name
"\x00\bzhangsan\x06\x00\xe1\xd1\x98\xa5mm\x1a\xdb"
127.0.0.1:6379> dump name1
(nil)
三、EXISTS

EXISTS key

检查给定 key 是否存在。

127.0.0.1:6379> set name shangsan
OK
127.0.0.1:6379> exists name
(integer) 1
127.0.0.1:6379> exists db
(integer) 0
四、EXPIRE

EXPIRE key seconds

为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。

生存时间可以通过使用 DEL 命令来删除整个 key 来移除,或者被 SET 和 GETSET 命令覆写(overwrite),这意味着,如果一个命令只是修改(alter)一个带生存时间的 key 的值而不是用一个新的 key 值来代替(replace)它的话,那么生存时间不会被改变。 比如说,对一个 key 执行 INCR 命令,对一个列表进行 LPUSH 命令,或者对一个哈希表执行 HSET 命令,这类操作都不会修改 key 本身的生存时间。

另一方面,如果使用 RENAME 对一个 key 进行改名,那么改名后的 key 的生存时间和改名前一样。 RENAME 命令的另一种可能是,尝试将一个带生存时间的 key 改名成另一个带生存时间的 another_key ,这时旧的 another_key (以及它的生存时间)会被删除,然后旧的 key 会改名为 another_key ,因此,新的 another_key 的生存时间也和原本的 key 一样。

使用 PERSIST 命令可以在不删除 key 的情况下,移除 key 的生存时间,让 key 重新成为一个『持久的』(persistent) key 。 更新生存时间 可以对一个已经带有生存时间的 key 执行 EXPIRE 命令,新指定的生存时间会取代旧的生存时间。

127.0.0.1:6379> set cache zhangsan
OK# 设置过期时间为 30 秒
127.0.0.1:6379> expire cache 30
(integer) 1
127.0.0.1:6379> ttl cache  # 查看剩余生存时间
(integer) 25
127.0.0.1:6379> expire cache 3000
(integer) 1
127.0.0.1:6379> ttl cache  # 更新过期时间
(integer) 2997
五、EXPIREAT

EXPIREAT key timestamp

EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置生存时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。

127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> expireat name 1700896579000 #在2023-11-25 15:16:19过期
(integer) 1
127.0.0.1:6379> ttl name
(integer) 1699195768750
六、KEYS

KEYS pattern

查找所有符合给定模式 pattern 的 key 。 KEYS 匹配数据库中所有 key 。KEYS h?llo 匹配 hello , hallo 和 hxllo 等。KEYS hllo 匹配 hllo 和 heeeeello 等。KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。

特殊符号用 \ 隔开 Warning KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如果你需要从一个数据集中查找特定的 key ,你最好还是用 Redis 的集合结构(set)来代替。

127.0.0.1:6379> mset one 1 two 2 three 3 four 4   # 一次设置 4 个 key
OK
127.0.0.1:6379> keys *o*
1) "stock"
2) "four"
3) "one"
4) "two"
127.0.0.1:6379> keys t??
1) "two"
127.0.0.1:6379> keys t[w]*
1) "two"
127.0.0.1:6379> keys *   # 匹配数据库内所有 key1) "[a2"2) "stock"3) "three"4) "name"5) "a3"6) "a2"7) "four"8) "b1"9) "one"
10) "two"
11) "cache"
12) "a1"

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

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

相关文章

Qt C++中调用python,并将软件打包发布,python含第三方依赖

工作中遇到qt c调用我的python 代码,并且想要一键打包,这里我根据参考的以及个人实践的结果来简单实现一下。 环境:windows系统,QT Creater 4.5, python 3.8(anaconda虚拟环境) 1. 简单QT调用…

【 Kubernetes 风云录 】- Istio 应用多版本流量控制

文章目录 原理实现DeploymentVirtualServiceDestinationRule 约束部署 目的: 根据不同的引擎版本,可以把请求发送到指定的引擎上。可以实现版本降级。 原理 Istio通过VirtualService和DestinationRule两个资源对象来实现流量管理,其中VirtualService用于…

LeetCode Hot100 98.验证二叉搜索树

题目: 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 方法一…

electron windows robotjs 安装教程

Robotjs 安装 前言第一步 : 安装python第二步 : 安装Visual Studio 2022第三步 : 安装robotjs 前言 robotjs可以控制鼠标键盘,获取屏幕内容,配合electron可做很多自动化操作。windows下配置环境有很多坑,很多文章都太旧了。试了很多次发现了…

ky10 server x86 auditd安装(日志审计系统)

概述 Auditd工具可以帮助运维人员审计Linux,分析发生在系统中的发生的事情。Linux 内核有用日志记录事件的能力,包括记录系统调用和文件访问。管理员可以检查这些日志,确定是否存在安全漏洞(如多次失败的登录尝试,或者…

golang学习笔记——接口和继承比较2

接口和继承 现在有一个需要要求大学生和足球运动员掌握英语技能,请问怎么实现? 给运动员和学生结构体添加studyEnglish方法显示是可以的,但是篮球动员和中学生也学习了英语,显示不行。这时,我们可以直接给足球运动员和大学生添加…

跳转应用市场详情页market

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 未经允许不得转载 目录 一、导读二、概览三、跳转到各大厂商应…

播放器开发(四):多线程解复用与解码模块实现

学习课题:逐步构建开发播放器【QT5 FFmpeg6 SDL2】 前言 根据第一章内容,我们首先可以先把解复用和解码模块完成,其中需要使用到多线程以及队列,还需要使用FFmpeg进行解复用和解码动作的实现。 创建BaseQueue基类 BaseQueue.h…

亚马逊两步验证有哪些验证方法?

亚马逊通常提供多种两步验证的方式,包括短信(通过手机接收验证码)和认证器应用程序(如Google Authenticator、Authy等)。选择你偏好的方式。 短信验证: 如果选择短信验证,需要将你的手机号码关联…

YOLOv8改进 | 2023 | LSKAttention大核注意力机制助力极限涨点

论文地址:官方论文地址 代码地址:官方代码地址 一、本文介绍 在这篇文章中,我们将讲解如何将LSKAttention大核注意力机制应用于YOLOv8,以实现显著的性能提升。首先,我们介绍LSKAttention机制的基本原理,…

loginctl - 控制 systemd 登录管理器

loginctl loginctl用途loginctl安装开启loginctl服务session操作user操作管理用户服务 loginctl - Control the systemd login manager Redhat/centos平台使用loginctl管理登录用户与session loginctl用途 控制 systemd 登录管理器管理当前登录的用户和session loginctl安装…

Peter算法小课堂—高精度加法

指针与数组 看看以下代码&#xff0c;请预测答案 #include <bits/stdc.h> using namespace std; int x[10]{0,1,2,3,4,5,6,7,8,9}; int main(){cout<<x<<endl;cout<<x3<<endl;cout<<*x<<endl;cout<<*(x7)<<endl;cout&…

定制手机套餐---python序列

if __name__ __main__:print("定制手机套餐")print("")#定义电话时长&#xff1a;字典callTimeOptions{1:0分钟,2:50分钟,3:100分钟,4:300分钟,5:不限量}keyinput("请输入电话时长的选择编号&#xff1a;")valuecallTimeOptions.get(key)if val…

代码随想录算法训练营第五十四天|392.判断子序列 115.不同的子序列

文档讲解&#xff1a;代码随想录 视频讲解&#xff1a;代码随想录B站账号 状态&#xff1a;看了视频题解和文章解析后做出来了 392.判断子序列 class Solution:def isSubsequence(self, s: str, t: str) -> bool:dp [[0] * (len(t)1) for _ in range(len(s)1)]for i in ra…

Java 关于批量插入遇到的问题 -sqlserver

序言&#xff1a; 我们在做项目的时候&#xff0c;经常会遇到&#xff0c;对数据的新增动作&#xff0c;如果数据量很少的情况下&#xff0c;单个新增对性能还好&#xff0c;但是一旦涉及到 大数据量&#xff0c;如十万&#xff0c;百万&#xff0c;千万&#xff0c;这个时候如…

RabbitMq使用与整合

MQ基本概念 MQ概述 MQ全称 Message Queue&#xff08;[kjuː]&#xff09;&#xff08;消息队列&#xff09;&#xff0c;是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。 &#xff08;队列是一种容器&#xff0c;用于存放数据的都是容器&#xff0c;存…

优秀的时间追踪软件Timemator for Mac轻松管理时间!

在现代社会&#xff0c;时间管理成为了我们工作和生活中的一大挑战。如果你经常感到时间不够用&#xff0c;无法高效地完成任务&#xff0c;那么Timemator for Mac将成为你的得力助手。 Timemator for Mac是一款出色的时间追踪软件&#xff0c;它可以帮助你精确记录和管理你的…

Linux的基本指令 ( 一 )

目录 前言 Linux基本指令 快速认识五个指令 ls指令 补充内容 pwd指令 补充内容 cd指令 补充内容 重新认识指令 指令的本质 which指令 alias指令 最后 一个文件的三种时间 tree指令及安装 tree指令 前言 关于Linux操作系统的桌面&#xff0c;在学校教学中我们…

实用高效 无人机光伏巡检系统助力电站可持续发展

近年来&#xff0c;我国光伏发电行业规模日益壮大&#xff0c;全球领先地位愈发巩固。为解决光伏电站运维中的难题&#xff0c;浙江某光伏电站与复亚智能达成战略合作&#xff0c;共同推出全自动无人机光伏巡检系统&#xff0c;旨在提高发电效率、降低运维成本&#xff0c;最大…

Spark---SparkCore(一)

一、术语与宽窄依赖 1、术语解释 1、Master(standalone):资源管理的主节点&#xff08;进程&#xff09; 2、Cluster Manager:在集群上获取资源的外部服务(例如&#xff1a;standalone,Mesos,Yarn) 3、Worker Node(standalone):资源管理的从节点(进程)或者说管理本机资源的…