news 2026/10/5 7:01:39

常用的 Redis 数据结构

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
常用的 Redis 数据结构

Redis 之所以快,不只因为内存存储,还因为它提供了丰富的数据结构。日常开发中,掌握下面 5 种常用结构,基本就能覆盖大多数场景。

  1. String:最基础

String 是二进制安全的,可以存文本、数字、JSON、图片等。

常用命令:

SET key value GET key INCR key DECR key SETNX key value EXPIRE key60

典型场景:

· 缓存对象
· 计数器,如文章阅读量
· 分布式锁
· 限流

  1. List:有序列表

List 底层是双向链表结构,支持从两端插入和弹出。

常用命令:

LPUSH list a RPUSH list b LPOP list RPOP list LRANGE list0-1

典型场景:

· 简单消息队列
· 最新动态列表
· 时间线

注意:List 适合简单队列,复杂消息队列建议用 Stream。

  1. Hash:键值对集合

Hash 适合存储对象的多个字段。

常用命令:

HSET user name"Tom"HSET user age18HGET user name HGETALL user HDEL user age

典型场景:

· 用户信息
· 商品属性
· 购物车

相比用多个 String 存对象字段,Hash 更省内存,也更方便管理。

  1. Set:无序唯一集合

Set 中的元素不重复,支持交集、并集、差集。

常用命令:

SADD tags redis SADD tags cache SMEMBERS tags SISMEMBER tags redis SINTER set1 set2 SUNION set1 set2

典型场景:

· 标签系统
· 点赞去重
· 共同好友
· 抽奖

  1. ZSet:有序唯一集合

ZSet 每个元素都有一个 score,按 score 排序,元素唯一。

常用命令:

ZADD rank100tom ZADD rank90jerry ZRANGE rank0-1WITHSCORES ZREVRANGE rank0-1WITHSCORES ZINCRBY rank10tom

典型场景:

· 排行榜
· 热度排序
· 延时队列
· 范围查询

其他常用结构

· Bitmap:位图,适合签到、活跃统计。
· HyperLogLog:基数统计,适合 UV 去重,内存占用极低。
· GEO:地理位置计算,附近的人、门店距离。
· Stream:专业消息队列,支持消费组。

底层小知识

Redis 会根据数据量自动选择底层编码:

· String:SDS
· List:quicklist
· Hash / Set:小数据用 listpack,大数据用 hashtable
· ZSet:小数据用 listpack,大数据用 skiplist + dict

这样设计的目标是:小对象省内存,大对象保证性能。

总结

日常使用优先掌握:

结构 一句话 典型场景
String 缓存和计数 缓存、锁、计数器
List 有序可重复 队列、时间线
Hash 对象字段 用户、商品、购物车
Set 无序不重复 标签、去重、交并集
ZSet 带分数排序 排行榜、延时队列

选对数据结构,往往比优化代码更有效。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/5 7:00:31

玩转二叉树:前序中序建树+镜像反转+层序遍历全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/5 6:59:03

【信息科学与工程学】【产品体系】第三十三篇 产品线PLE 102 软件架构风格1001 事件驱动架构风格

编号 学科知识类别 知识模块 在系统工程中的作用 核心知识点/其他知识点列表(企业界/学术界/产业界应用) LaTeX 数学表达式与方程式列表及详细数学建模与数值设计(现象—根因—模型—流程—策略—各类场景) 关联知识/论文/标准/规定/公理/定理 1 事件建模与领域语义…

作者头像 李华
网站建设 2026/10/5 6:58:05

MR25H40CDF MRAM与PIC18LF46K22的SPI驱动与掉电保护设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/5 6:57:54

PRISM——用4段真人搬运视频,让机器人学会搬运各种东西:以真实视频为“种子”,生成“换个物体人会怎么搬”的反事实交互视频,再重建并重定向为符合物理规则的轨迹,最后通过师生蒸馏出策略

前言近期,我司除了场景落地开发外(即基于自研的具身垂直大脑做批量交付,如上下料、搬运分拣、插拔装配),还不断强化了硬件服务,涵盖:产品采购针对市面上主流的30家本体,都有远低于市面价的渠道代理价且1 费…

作者头像 李华