当前位置: 首页 > news >正文

Redis数据库的五类核心数据结构

Redis是一个开源的键值存储系统,支持多种类型的值模型,其中五种核心的数据结构是:String(字符串)、List(列表)、Set(集合)、Hash(哈希表)、和Sorted Set(有序集合)。下面将对每种数据结构进行详细解析。

1. String(字符串)

String数据结构是最简单的数据类型,通常用于存储文本或二进制数据。它可以包含的数据大小限制为512MB。这种结构不只是普通的字符串,也可以用来储存数值,经常利用其进行计数器的操作。它支持范围操作,可以只对字符串的一部分进行操作,而不必操作整个字符串。

操作例子:

  • SET mykey "Hello"
  • GET mykey
  • INCR counter (将 key 存储的数字值增一)

2. List(列表)

List是简单的字符串列表,按照插入顺序进行排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。它是一个双向链表,因此即使在列表中有数百万的元素,左右端的插入和删除操作依旧保持高效。List可以用作队列,栈,或实现阻塞队列和发布/订阅模式。

操作例子:

  • LPUSH mylist "hello"
  • RPUSH mylist "world"
  • LPOP mylist
  • BRPOP mylist 0 (阻塞性地从列表中取得元素)

3. Set(集合)

Set是字符串的无序集合。和Lists不同,Sets不允许重复的元素。因此,它非常适合用来储存唯一性要求的信息,如统计访问IP,社交元素的互动特征等。Redis的Set提供了高效的集合操作,例如并集,交集,差集等。

操作例子:

  • SADD myset "Hello"
  • SADD myset "World"
  • SREM myset "Hello"
  • SISMEMBER myset "World"

4. Hash(哈希表)

Hash是键值对集合。它是字符串字段和字符串值之间的映射表,适合存储对象。每个哈希可以存储42亿个键值对。你可以用它来存储用户的不同属性,而无需为每个属性创建多个独立的Strings。

操作例子:

  • HSET myhash field1 "Hello"
  • HGET myhash field1
  • HGETALL myhash
  • HDEL myhash field1

5. Sorted Set(有序集合)

Sorted Set是Set的升级版本,它插入的每个元素都会关联一个double类型的分数。Redis 正是通过分数来为集合中的成员进行从小到大的排序。Sorted Sets通过分数值和字典顺序混合排序,适用于需要权重排序的场景,如实现排行榜。

操作例子:

  • ZADD myzset 1 "one"
  • ZADD myzset 2 "two"
  • ZRANGE myzset 0 -1 WITHSCORES
  • ZREM myzset "one"
http://www.wxhsa.cn/company.asp?id=3693

相关文章:

  • RAG 个人知识库 向量查找原理
  • css-1
  • Java-JDK8新特性
  • 解决MySQL ONLY_FULL_GROUP_BY 错误的方案
  • 博客园美化
  • spatial 一个芯片设计语言的简介 scala dsl 并行支持 -1
  • NOIP备考
  • NVIDIA GPGPU 访存通路设计调研
  • 用 Java 和 Tesseract 实现验证码图像识别
  • AGC003D
  • Java 实现验证码图像识别与处理流程详解
  • 图论杂题。
  • 暑假训练小结
  • 初识python:一些基础的知识(函数)
  • Java并发编程(3)
  • 斐波那契子序列
  • [豪の学习笔记] 软考中级备考 基础复习#10
  • 题解:CF2137D Replace with Occurrences
  • 题解:CF2137C Maximum Even Sum
  • 第02周 java预习
  • 编码规范
  • 深入解析:【译】Visual Studio 八月更新已发布 —— 更智能的人工智能、更出色的调试功能以及更多控制权
  • 命令模式在 TPL Dataflow 反馈回路管道中的应用及问题解决
  • Ubuntu 24.04 服务器调整MySQL 8.0.42 三节点集群(一主两从架构)安装部署配置教程
  • 使用almalinux基础镜像创建nginx镜像
  • docke容器版Nessus登录+破解+激活+特征库更新
  • 我把Cursor当磁盘清理工具用,非常棒! - ukyo-
  • vue项目
  • 第九篇:数据库服务克隆应用
  • Anti-Proxy Attendance 题解