Redis 五种数据类型的操作命令

一、五种数据类型的介绍

五种数据类型如图所示:

Redis 是一个开源的键值存储系统,它支持多种数据结构,每种数据结构都有其特定的用例和底层实现。以下是 Redis 的五种主要数据类型,以及它们适合存储的数据类型和底层实现:

1.1 String(字符串)

  • 适合存储的数据:简单的值,如配置选项、计数器、简单的缓存数据等。
  • 底层实现:在 Redis 中,字符串被实现为动态字符串(SDS),它是一个二进制安全的字符串,可以高效地进行内存分配和回收。


1.2 List(列表)

  • 适合存储的数据:有序集合,如消息队列、文章列表、粉丝列表等。
  • 底层实现:列表在 Redis 中是通过一个双向链表实现的,每个链表节点包含一个字符串值。这种结构使得列表可以在两端以 O(1) 的时间复杂度进行推入(push)和弹出(pop)操作。


1.3 Set(集合)

  • 适合存储的数据:无序集合,如标签集合、唯一性约束(如邮箱订阅列表)等。
  • 底层实现:集合在 Redis 中是通过哈希表实现的,其中每个元素都是唯一的。哈希表的实现确保了快速的查找、插入和删除操作。


1.4 Sorted Set(有序集合)

  • 适合存储的数据:需要根据分数排序的数据,如排行榜、带权重的队列等。
  • 底层实现:有序集合在 Redis 中是通过一个哈希表和一个跳跃表(SkipList)实现的。哈希表用于快速查找元素,而跳跃表用于维护元素的有序性,使得范围查询变得高效。


1.5 Hash(哈希)

  • 适合存储的数据:对象或映射表,如用户信息、配置信息等。
  • 底层实现:哈希在 Redis 中是通过哈希表实现的,其中每个字段都是一个键值对。这种结构使得可以快速访问和修改对象的属性。

<@_@>
        每种数据类型都有其特定的命令集,用于操作和查询数据。Redis 的这些数据类型提供了灵活的数据操作方式,使得它在多种应用场景中都非常有用。

二、操作命令

注意一:redis不区分大小写

注意二:使用redis前记得在cmd窗口开启redis 服务哦

2.1 字符串操作命令

Redis 中字符串类型常用命令:

  • SET key value                      ----->   设置指定key的值
  • GET key                               ----->   获取指定key的值
  • SETEX key seconds value   ----->   设置指定key的值,并将 key 的过期时间设为 seconds 秒
  • SETNX key value                 ----->   只有在 key 不存在时设置 key 的值

 

2.2 哈希操作命令

Redis hash 是一个string类型的 field 和 value 的映射表,hash特别适合用于存储对象,常用命令:

  • HSET key field value   ----->   将哈希表 key 中的字段 field 的值设为 value
  • HGET key field            ----->   获取存储在哈希表中指定字段的值
  • HDEL key field            ----->   删除存储在哈希表中的指定字段
  • HKEYS key                 ----->   获取哈希表中所有字段
  • HVALS key                  ----->   获取哈希表中所有值

2.3 列表操作命令

Redis 列表是简单的字符串列表,按照插入顺序排序,常用命令:

  • LPUSH key value1 [value2]      ----->   将一个或多个值插入到列表头部
  • LRANGE key start stop            ----->   获取列表指定范围内的元素
  • RPOP key                                 ----->   移除并获取列表最后一个元素
  • LLEN key                                  ----->   获取列表长度
  • BRPOP key1 [key2 ] timeout    ----->   移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超 时或发现可弹出元素为止

2.4 集合操作命令

Redis set 是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据,常用命令:

  • SADD key member1 [member2]   ----->   向集合添加一个或多个成员
  • SMEMBERS key                           ----->   返回集合中的所有成员
  • SCARD key                                   ----->   获取集合的成员数
  • SINTER key1 [key2]                      ----->   返回给定所有集合的交集
  • SUNION key1 [key2]                     ----->   返回所有给定集合的并集
  • SREM key member1 [member2]   ----->   移除集合中一个或多个成员

 

2.5 有序集合操作命令

Redis有序集合是string类型元素的集合,且不允许有重复成员。每个元素都会关联一个double类型的分数。常用命令:

常用命令:

  • ZADD key score1 member1 [score2 member2]   ----->   向有序集合添加一个或多个成员
  • ZRANGE key start stop [WITHSCORES]             ----->   通过索引区间返回有序集合中指定区间内的成员
  • ZINCRBY key increment member                        ----->   有序集合中对指定成员的分数加上增量 increment
  • ZREM key member [member ...]                           ----->   移除有序集合中的一个或多个成员

2.6 通用命令

Redis的通用命令是不分数据类型的,都可以使用的命令:

  • KEYS pattern   ----->   查找所有符合给定模式( pattern)的 key
  • EXISTS key     ----->   检查给定 key 是否存在
  • TYPE key         ----->   返回 key 所储存的值的类型
  • DEL key           ----->   该命令用于在 key 存在是删除 key

总结

以上就是关于Redis 的五种数据类型的介绍,以及其操作命令的使用,希望对各位看官有所帮助,感谢各位看官的观看,下期见,谢谢~

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

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

相关文章

智慧出行:数字孪生三维可视化大屏交通管控系统

智慧出行已成为现代城市发展的重要支柱&#xff0c;数字孪生技术在交通领域的应用不断深化。结合三维可视化技术&#xff0c;打造功能强大的大屏交通管控系统&#xff0c;将对城市交通管理带来巨大变革。该系统通过实时监测和数据分析&#xff0c;提供精准的交通状况显示和预测…

FPUA(1)DIY个人计算机

文章目录 1.需求确定2.硬件选型2.1CPU2.2关于主板2.3硬盘2.4电源2.5散热2.6机箱2.7其他 3.选型成果展示4.组装过程5.欢迎关注技术文章 电脑作为程序员生产力最重要的生产工具&#xff0c;电脑的性能对工作效率有很大影响。电脑组装的每一个环节多少都懂一些&#xff0c;但真正的…

java判断一个字符串是否是回文字符串

代码功能 接收用户输入的字符串&#xff0c;检查该字符串是否为回文&#xff08;即正序和倒序读取都相同&#xff09;&#xff0c;然后输出检查结果。 代码 import java.util.Scanner;public class PalindromeChecker {public static void main(String[] args) {Scanner sc…

微积分-反函数6.6(反三角函数)

在本节中&#xff0c;我们应用 6.1 节的思想来找到所谓反三角函数的导数。在这个任务中&#xff0c;我们遇到了一些困难&#xff1a;由于三角函数不是一对一的&#xff0c;它们没有反函数。这个困难通过限制这些函数的定义域&#xff0c;使其成为一对一的函数&#xff0c;从而得…

软件著作权

软件著作权申请材料 材料一&#xff1a;操作手册 or 设计说明书 操作手册必须有截图&#xff0c;且执行步骤须连贯&#xff0c;从登录开始&#xff0c;到主界面展示&#xff0c;各个界面跳转&#xff0c;以及主要功能介绍&#xff0c;都要符合软件使用者的使用逻辑。文字不能…

气象大模型预测的原理与实践 免费提供气象预测数据

随着气象科学的发展&#xff0c;天气预测技术在过去几十年里取得了显著进步。如今&#xff0c;气象大模型成为了天气预报的核心工具之一。这些模型依赖于复杂的数学、物理和计算方法来模拟大气运动与天气现象&#xff0c;并且在实时数据的支持下&#xff0c;可以预测未来几小时…

YOLO11涨点优化:注意力魔改 | SimAM(无参Attention),一种轻量级的自注意力机制,效果秒杀CBAM、SE

💡💡💡SimAM是一种轻量级的自注意力机制,其网络结构与Transformer类似,但是在计算注意力权重时使用的是线性层而不是点积 💡💡💡本文改进:分别加入到YOLO11的backbone、neck、detect,助力涨点 改进1结构图: 改进2结构图: 改进3结构图: ​ 《YOLOv

OpenHarmony(鸿蒙南向开发)——轻量系统内核(LiteOS-M)【内核通信机制】

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 持续更新中…… 事件 基本概念 事件&#xff08;Event&#xff09;是一种任务间的…

NVIDIA 多实例 GPU

单个 GPU 中包含七个独立实例。 文章目录 前言一、优势1. 扩展 GPU 的使用范围2. 优化 GPU 利用率3. 运行同步工作负载二、 技术原理1. 根据需要调配和配置实例2. 安全、并行运行工作负载三、Blackwell GPU 中的 MIG四、为 IT 和开发运营而打造1. 从数据中心部署到边缘2. 利用容…

【一分钟学C++】指针和引用

竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生~ 公众号&#xff1a; C学习与探索 | 个人主页&#xff1a; rainInSunny | 个人专栏&#xff1a; Learn OpenGL In Qt 文章目录 指针普通指针函数指针注意事项 引用左值引用右值引用注意事项 指针和引用区别 指针 普通指针 指针是一个…

宝兰德加入中国交通运输协会信息专业委员会,携手共绘交通行业信息化新篇章

近日&#xff0c;中国交通运输协会信息专业委员会&#xff08;以下简称信专委&#xff09;第四届会员代表大会暨第四届一次理事会扩大会议在北京成功举行。宝兰德受邀出席会议&#xff0c;会议总结了第三届理事会的工作&#xff0c;修改了信专委工作规则&#xff0c;选举产生了…

Android Camera系列(四):TextureView+OpenGL ES+Camera

别人贪婪时我恐惧&#xff0c;别人恐惧时我贪婪 Android Camera系列&#xff08;一&#xff09;&#xff1a;SurfaceViewCamera Android Camera系列&#xff08;二&#xff09;&#xff1a;TextureViewCamera Android Camera系列&#xff08;三&#xff09;&#xff1a;GLSur…

一键生成PPT在线使用的保姆级教程:告别加班就靠它

已经过完24年所有的法定节假日的你&#xff0c;上班状态还好吗&#xff1f; 小编人倒是挺飘忽的&#xff0c;就那种人在工位&#xff0c;魂仍在青青大草原的感觉&#xff0c;都是牛马却失去了自由奔跑的权利...... 尤其是还要面对节前一堆没完成的工作&#xff0c;手动完成不…

Day-1 java入门

什么是JAVA? Java是美国的sun 公司(Stanford University Network)在1995年推出的一门计算机高级编程语言。 sun公司于2009年被Oracle(甲骨文)公司收购。 普遍认同Java的联合创始人之一:詹姆斯 高斯林 (James Gosling)为ava之父。 JAVA三大技术平台 Java SE(Java Standa…

大模型 + 在线运行 + ISRealsoft ⇒ 编程运行验证一体化

最近在撰写《计算机的错误计算》系列内容。其中用到三种在线工具&#xff0c;分别是大语言模型、在线运行软件以及 ISRealsoft 在线软件。 系列主要介绍各种软硬件关于数值计算的误差或错误计算。比如&#xff0c;各种数学库 math 中涉及的函数的误差&#xff0c;或算术表达式&…

用伪代码Prompt让LLM进行图推理,生成更精准内容

最近有研究发现&#xff0c;当LLM面对结构化数据&#xff0c;特别是图数据时&#xff0c;LLM的表现却不尽如人意。这几天&#xff0c;来自希腊和法国的研究团队提出了一种创新方法——利用伪代码提示来增强LLM的图推理能力。我基于这项研究先写了一个伪代码的SYSYTEM PROMPT运行…

【智能算法应用】正切搜索算法求解二维路径规划问题

摘要 本文提出了基于正切搜索算法的二维路径规划方法&#xff0c;用于解决包含障碍物的复杂路径规划问题。通过在二维平面中建立障碍物模型和路径目标点&#xff0c;利用正切搜索算法进行路径搜索&#xff0c;找出从起点到终点的最优路径。实验结果显示&#xff0c;该算法在不…

5. PH47 代码框架软件开发环境搭建

5.1. 概述 PH47 软件开发环境搭建比较简单&#xff0c;但毫无疑问非常重要。主要涉及到 stm32 编译链接工具 Keil&#xff1b;代码编辑器 Visual Studio 或者 VS code。 若需要更进一步进行 PH47 框架在不同 stm32 芯片间移植&#xff0c;那么还需要Stm32CubeMx 初始化代码生成…

Python 如何使用 SQLAlchemy 进行复杂查询

Python 如何使用 SQLAlchemy 进行复杂查询 一、引言 SQLAlchemy 是 Python 生态系统中非常流行的数据库处理库&#xff0c;它提供了一种高效、简洁的方式与数据库进行交互。SQLAlchemy 是一个功能强大的数据库工具&#xff0c;支持结构化查询语言&#xff08;SQL&#xff09;…

小白入门《大模型应用开发极简入门》学习成为善用 AI 的人!

《大模型应用开发极简入门&#xff1a;基于 GPT-4 和 ChatGPT》这本书旨在为读者提供一个从零开始&#xff0c;快速掌握大语言模型&#xff08;LLM&#xff09;开发的入门指南&#xff0c;特别是基于 GPT-4 和 ChatGPT 的应用开发。书中内容涵盖了大模型的基础概念、架构原理、…