Redis-----通用命令(keys, exists, del, expire, ttl, type)

通用命令

  • 一. 前言.
    • 1.1 通用命令
    • 1.2 Redis常用的数据类型
      • 1.2.1 String(字符串)
      • 1.2.2 List(列表)
      • 1.2.3 Set(集合)
      • 1.2.4 Hash(哈希)
      • 1.2.5 Zset(有序集合)
  • 二. 通用命令
    • 2.1 keys
    • 2.2 exists
    • 2.3 del
    • 2.4 expire(pexpire)
      • 2.4.1 key的过期策略是什么?(经典面试题)
    • 2.5 ttl
    • 2.6 type

一. 前言.

1.1 通用命令

  • 定义: Redis的通用命令是指那些不特定于某种数据类型,而是可以在多种数据类型上使用的命令

1.2 Redis常用的数据类型

1.2.1 String(字符串)

  • String是最基本的数据类型于存储二进制安全的字符串,可以包含任何类型的数据,如文本、数字、图片等。
  • 内部实现主要采用简单动态字符串(SDS)或整数(int)来存储。

1.2.2 List(列表)

  • List是一个简单的字符串列表,按照插入顺序排序。它可以作为一个队列(先进先出)或者栈(后进先出)来使用。
  • 内部实现主要是双向链表(LinkedList)或压缩列表(ZipList),在Redis 3.2之后引入了快速列表(QuickList)作为List的底层实现。

1.2.3 Set(集合)

  • Set是一个无序的字符串集合,不允许有重复元素
  • 内部实现主要是哈希表(Hashtable)。

1.2.4 Hash(哈希)

  • Hash是一个键值对集合,其中的键和值都是字符串。
  • 内部实现根据存储的元素数量和大小,可能会使用压缩列表(ZipList)或哈希表(Hashtable)。

1.2.5 Zset(有序集合)

  • Zset是Redis的一个特殊类型,可以存储一个字符串成员(member)与之关联的浮点数分数(score),通过分数来为集合中的成员进行从小到大的排序。
  • 内部实现主要使用跳跃表(SkipList)和哈希表(Hashtable)。

二. 通用命令

2.1 keys

  • 在Redis中,KEYS命令用于查找所有符合给定模式(pattern)的键(key)。这个命令非常强大,但因为它会扫描数据库中所有的键,所以在使用时需要特别小心,特别是在包含大量键的数据库中,因为它可能会导致性能问题。
  • 基本格式:

KEYS pattern

  • 所支持的基本查询格式:
    在这里插入图片描述
  • 命令使用演示:
    在这里插入图片描述

2.2 exists

  • 在 Redis 中,EXISTS 是一个用于检查键是否存在的命令。如果指定的键存在,则返回 1;否则返回 0。

  • 基本格式:

EXISTS key [key …]

  • 命令使用演示:
    在这里插入图片描述

2.3 del

  • 在Redis中,DEL 命令用于删除一个或多个指定的键(key)。如果键不存在,则忽略该操作。如果键存在,则删除该键以及与之相关联的值。DEL 命令是一个通用的删除命令,可以用于删除任何类型的键,包括字符串(strings)、列表(lists)、集合(sets)、有序集合(sorted sets)和哈希表(hashes)等。
  • 基本格式:

DEL key [key …]

  • 命令使用演示:
    在这里插入图片描述

2.4 expire(pexpire)

  • 在Redis中,EXPIRE 命令用于为存储在Redis数据库中的键(key)设置过期时间。一旦键的过期时间到达,该键及其关联的值将自动被Redis删除(但请注意,删除操作可能是惰性的或定期的,具体取决于Redis的过期策略)。
  • 基本格式:

EXPIRE key seconds [NX | XX | GT | LT]
NX、XX、GT、LT 这些选项在 EXPIRE key seconds 命令中并不直接适用。它们通常与Redis的其他命令或功能相关联,用于提供额外的条件控制。在设置键的过期时间时,你可以使用 EXPIRE 命令直接为键设置过期时间(以秒为单位),而不附加这些条件选项。

  • 命令使用演示:
    在这里插入图片描述

2.4.1 key的过期策略是什么?(经典面试题)

  1. 定期删除:Redis会在后台线程中设置一个定期任务,用于扫描和删除过期键。这个任务会在特定的时间间隔内执行,默认每100毫秒运行一次。在每次定期任务执行时,Redis会从已设置过期时间的键中随机抽取一部分键进行检查,而不是一次性检查所有键。~~ 保证这个抽取检查的过程,足够快!! 因为redis是单线程的程序, 主要的任务(处理每个命令的任务, 刚才扫描过期key…). 如果扫描过期key消耗的时间太多,就可能导致正常处理请求命令就被阻塞了
  2. 惰性删除: 在取出键时才对键进行过期检查,如果发现键已经过期,则删除该键。用到的时候才删
  3. 内存淘汰策略.当Redis服务器占用的内存数超过了maxmemory选项所设置的上限值时,会触发内存淘汰策略。

2.5 ttl

  • 在Redis中,TTL(Time To Live)命令用于获取存储在Redis数据库中的某个键(key)的剩余生存时间(TTL, time to live),这个时间是以秒为单位的。简单来说,TTL命令会告诉你一个键在多少秒后会被自动删除(如果它设置了过期时间的话)。
  • 基本格式:

TTL key

  • 命令使用演示:
    在这里插入图片描述

2.6 type

  • TYPE命令接受一个键(key)作为参数,并返回该键存储的值的数据类型。Redis支持多种数据类型,包括字符串(string)、列表(list)、集合(set)、有序集合(zset,也称为sorted set)、哈希(hash)以及流(stream,在Redis 5.0及更高版本中引入)。如果指定的键不存在,TYPE命令将返回none。
  • 基本格式:

TTL key

  • 命令使用演示:
    在这里插入图片描述

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

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

相关文章

通过 OpenAI API 实测 o1 模型(附源码)

9.11 与 9.9 哪个大? 还记得之前给大家演示的幻觉问题么? 用 gpt4 系列模型提问“9.11 与 9.9 哪个大?” 大家可以回顾一下,即使引导了 COT 的思路,但是 gpt4 还是一本正经的胡说八道。 如今,o1 已经完美解决数学、逻辑推理方…

探索 Snowflake 与 Databend 的云原生数仓技术与应用实践 | Data Infra NO.21 回顾

上周六,第二十一期「Data Infra 研究社」在线上与大家相见。活动邀请到了西门子数据分析师陈砚林与 Databend 联合创始人王吟,为我们带来了一场关于 Snowflake 和 Databend 的技术探索。Snowflake,这个市值曾超过 700 亿美元的云原生数据仓库…

《概率论与数理统计》学渣笔记

文章目录 1 随机事件和概率1.1 古典概型求概率随机分配问题简单随机抽样问题 1.2 几何概型求概率1.3 重要公式求概率 2 一维随机变量及其分布2.1 随机变量及其分布函数的定义离散型随机变量及其概率分布(概率分布)连续型随机变量及其概率分布&#xff08…

数据结构和算法之树形结构(4)

文章出处:数据结构和算法之树形结构(4) 关注码农爱刷题,看更多技术文章!!! 六、红黑树(接前篇) 红黑树是为了弥补AVL树在大规模频繁增删节点场景下性能不理想而设计出来的一种平衡二叉查找树。红黑树不是一种严…

【论文阅读】Diffusion Policy: Visuomotor Policy Learning via Action Diffusion

Abstract 本文介绍了扩散策略,这是一种通过将机器人的视觉运动policy表示为条件去噪扩散过程来生成机器人行为的新方法。我们对来自 4 个不同的机器人操作基准的 15 个不同任务的扩散策略进行了基准测试,发现它始终优于现有的 state-of-the-art 机器人学…

word批量裁剪图片,并调整图片大小,不锁定纵横比

在word中有若干图片待处理,裁剪出指定内容,调整成指定大小。如下是待处理的图片: 这时,选择视图,选择宏,查看宏 选择创建宏 添加cut_picture代码如下,其中上、下、左、右裁剪的橡塑尺寸根据自己…

C#入门教程

目录 1.if分支语句 2.面向对象 3.static简单说明 1.if分支语句 我们的这个C#里面的if语句以及这个if-else语句和C语言里面没有区别,就是打这个输出上面的方式不一样,c#里面使用的是这个console.writeline这个指令,其他的这个判断逻辑都是一…

【优选算法】(第四篇)

目录 三数之和(medium) 题目解析 讲解算法原理 编写代码 四数之和(medium) 题目解析 讲解算法原理 编写代码 三数之和(medium) 题目解析 1.题目链接:. - 力扣(LeetCode&…

鸿蒙开发(NEXT/API 12)【基础功能(使用剪贴板进行复制粘贴)】剪贴板服务

场景介绍 [剪贴板]为开发者提供数据的复制粘贴能力。 当需要使用复制粘贴等功能时&#xff0c;例如&#xff1a;复制文字内容到备忘录中粘贴&#xff0c;复制图库照片到文件管理粘贴&#xff0c;就可以通过剪贴板来完成。 约束限制 剪贴板内容大小<128MB。为保证剪贴板数…

【Java】Java中String、StringBuilder、StringJoiner详解

目录 引言 一、String 1.1 String的定义 1.1.1 直接赋值 1.1.2 new关键字创建 1.2 常用方法 1.3 字符串的不可变性 1.4 字符串内存的存储原理 二、StringBuilder 2.1 常用方法 2.2 动态扩容策略 2.3 使用场景 三、StringJoiner 3.1 构造方法 3.2 常用方法 3.3…

【图像处理】多幅不同焦距的同一个物体的平面图象,合成一幅具有立体效果的单幅图像原理(二)

实现多幅不同焦距图像合成一幅具有立体效果的图像可以使用以下算法和开源库&#xff1a; 实现算法 图像对齐 使用特征点匹配&#xff08;如 SIFT、SURF 或 ORB&#xff09;来对齐图像。利用 RANSAC 算法剔除离群点&#xff0c;估计变换矩阵。 深度图生成 基于图像的焦距和视角…

信息安全工程师(19)HASH函数与数字签名

一、Hash函数 1、定义 Hash函数&#xff0c;又称散列函数或哈希函数&#xff0c;是一种将任意长度的输入&#xff08;称为预映射或消息&#xff09;通过散列算法变换成固定长度输出&#xff08;称为散列值或哈希值&#xff09;的函数。这种转换是单向的&#xff0c;即不能从哈…

使用python爬取豆瓣网站?如何简单的爬取豆瓣网站?

1.对python爬虫的看法 首先说说我对python的看法&#xff0c;我的专业是大数据&#xff0c;我从事的工作是java开发&#xff0c;但是在工作之余&#xff0c;我对python又很感兴趣&#xff0c;因为我觉得python是一门很好的语言&#xff0c;第一&#xff1a;它可以用来爬取数据…

ROS与无人驾驶学习笔记(一)——ROS基本操作

文章目录 ※ 安装ubuntu 下载 创建虚拟机 安装系统 安装vmware tool 更新源 安装常用软件 ※ 安装ROS 设置软件更新 使用清华源安装 ros测试 认识ROS ROS特点 ROS系统实现 ROS安装 工作需要&#xff0c;转行做码农了。。。 大概是无人驾驶相关的&#xff0c;啥都不会。。。 看成…

arthas简单应用

背景说明 项目上某个接口响应时间过长&#xff0c;需要查看方法耗时情况进行优化 安装配置 访问下载页进行下载&#xff1a;下载 | arthas 调整文件位置进行解压缩 - 查看arthas帮助命令&#xff08;非必须&#xff0c;官网文档更详细&#xff09; C:\tools\arthas\4.0.1\b…

IvorySQL 3.4 来了

9 月 26 日&#xff0c;IvorySQL 3.4 发版。本文将带大家快速了解新版本特性。 IvorySQL 3.4 发版说明 IvorySQL 3.4 基于 PostgreSQL 16.4&#xff0c;修复了多个问题&#xff0c;并增强多项功能。 PostgreSQL 16.4 的变更 在未经授权时防止 pg_dump 执行&#xff0c;并引入一…

MMD模型一键完美导入UE5-VRM4U插件方案(一)

1、下载pmx模型 1、去模之屋官网下载MMD模型,模之屋 2、下载完成得到pmx和Texture文件 2、下载并启用VRM4U插件 1、下载VRM4U插件, VRM4U,点击Latest下载对应引擎版本 2、将插件放到Plugins目录,然后

Git GUI操作流程

1&#xff0c;点击运行 Gt GUI 2&#xff0c;界面如下 3&#xff0c;点击Creat new Repository或者在菜单栏点击Repository--new 4,点击Browse选择目录&#xff0c;点击create&#xff0c;创建本地git仓库 5&#xff0c;对应盘里生成一个.git文件&#xff0c;用于版本管理 6&am…

随记——机器学习

前言 本来有个500块钱的单子&#xff0c;用机器学习做一个不知道什么鸟的识别&#xff0c;正好有数据集&#xff0c;跑个小项目&#xff0c;过一下机器学习图像识别的流程&#xff0c;用很短的时间记录下来..... 一、数据预处理 将数据集分为训练集和测试集&#xff0c;直接…

基于SpringBoot校园失物招领系统设计与实现

文未可获取一份本项目的java源码和数据库参考。 本课题的作用、意义&#xff0c;在国内外的研究现状和发展趋势&#xff0c;尚待研究的问题 作用&#xff1a;本课题的目的是使失物招领信息管理清晰化&#xff0c;透明化&#xff0c;便于操作&#xff0c;易于管理。通过功能模…