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排序 ❌ 排行榜、有序权重队列
相关推荐
xian_wwq1 分钟前
【学习笔记-一文读懂系列】一文读懂Jev模型
笔记·学习
数据库小学妹3 分钟前
数据库管理工具有哪些?2026主流工具分类与选型对照
数据库·数据库管理工具·数据库工具·信创数据库·数据库客户端
bingHHB6 分钟前
销售订单同步实战:MES生产领料/补料→金蝶材料出库
数据库·集成测试
yexianglunbai17 分钟前
冷备份与热备份的区别详解
数据库
ZhengEnCi18 分钟前
SQL 与 NoSQL 本质差异完全指南:从数据模型到选型决策的深度剖析
数据库
Awh-21 分钟前
ARM 裸机开发 DAY8 学习笔记
arm开发·笔记·学习
龙腾AI白云21 分钟前
数字孪生:与人工智能融合的技术图景
大数据·数据库·人工智能·知识图谱
带金箍的至尊宝30 分钟前
系统架构设计师笔记 08:UML 用例图、类图、时序图
笔记·系统架构·uml
PC2005-cloud31 分钟前
MySQL学习笔记:主从复制集群搭建以及原理详解
笔记·学习·mysql
夜雪一千35 分钟前
MySQL中修改JSON类型的数据实战
数据库·mysql·json