Redis五大常用数据类型技术笔记

Redis整体存储结构为 Key-Value 键值对:

  • Key:统一都是字符串类型
  • Value:包含5种核心常用数据类型,各自结构、特性、适用场景完全不同

一、String 字符串

结构特点

Redis最简单基础的数据类型,就是普通文本字符串,一个key对应一段字符内容。

类比Java

等同于 String / 基本数据类型包装类

核心特性

  1. 二进制安全,可存文本、数字、图片字节数据
  2. 支持数值自增、截取、拼接等操作
  3. 单个value最大容量512MB

适用场景

  • 缓存普通文本数据:用户信息、商品详情
  • 计数器:浏览量、点赞数、访问次数
  • 分布式全局ID

二、Hash 哈希

结构特点

嵌套键值结构:key -> {field: value, field2: value2...}

一个Redis大key下,包含多个字段(field)与对应值

类比Java

等同于 HashMap

核心特性

  1. 适合存储对象,无需序列化整个实体,可单独修改某个字段
  2. 节省空间,比多个string存储对象更轻量化

适用场景

  • 存储用户基础信息:姓名、年龄、手机号
  • 商品属性、订单简易信息存储

三、List 列表

结构特点

有序链表结构,元素按插入先后顺序排列

两头读写效率极高,中间遍历效率偏低

类比Java

等同于 LinkedList

核心特性

  1. 允许元素重复
  2. 有序存储,支持左/右两端入队、出队
  3. 可模拟队列、栈结构

适用场景

  • 消息队列(简易生产者消费者)
  • 最新消息列表:首页动态、聊天会话记录
  • 栈结构:撤销操作记录

四、Set 集合

结构特点

无序集合容器,内部元素无先后顺序

类比Java

等同于 HashSet

核心特性

  1. 元素唯一,自动去重
  2. 支持集合运算:交集、并集、差集

适用场景

  • 去重统计:用户访问IP、签到记录
  • 共同好友、好友推荐(集合交集运算)
  • 抽奖活动(随机抽取集合内成员)

五、Sorted Set(ZSet) 有序集合

结构特点

在Set基础上,给每个元素绑定一个浮点分值(score),依靠score实现全局排序

类比Java

等同于 TreeSet

核心特性

  1. 元素不可重复,score可以重复
  2. 自动根据score升序/降序排列
  3. 支持按分值区间、排名范围查询

适用场景

  • 排行榜:销量榜单、积分排名、热搜榜单
  • 延时任务队列(score存入时间戳)
  • 权重有序的推荐列表

总结对照表

类型 有序 可重复 核心特征
String - - 基础字符串,万能通用
Hash - field不重复 对象字段精细化存储
List 插入有序 链表,消息队列、时序数据
Set 无序 去重、集合运算
ZSet 按score排序 排行榜、有序权重队列
相关推荐
M78佐菲6 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
oradh7 小时前
Oracle TX 锁 Mode 4(Share)问题排查总结
数据库·oracle·tx 锁 mode 4·oracle tx 锁
噜~噜~噜~7 小时前
操作系统笔记-2.3.5.1.1生产者-消费者问题
笔记·操作系统
yi.Ist7 小时前
数据定义语言-DDL操作
数据库·学习·mysql·oracle·大海豚
2601_963282779 小时前
工程项目、政企采购为什么优先选择对讲机批量采购?
数据库
Doraemomo9 小时前
SQLite数据库
数据库·sqlite
云贝教育-郑老师9 小时前
MySQL 的“黑匣子“:Performance Schema 把数据库内部变成一张可查的表
数据库·mysql
Huathy-雨落江南,浮生若梦11 小时前
Caddy 学习笔记 - 反向代理与 IP 封禁
笔记·学习·tcp/ip
这个DBA有点耶11 小时前
同城双活落地的三座山:网络延迟、脑裂预防、反向同步
数据库·架构·dba