三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

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

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排序排行榜、有序权重队列
← 返回列表