news 2026/7/4 14:42:19

一篇文章带你了解Redis数据类型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一篇文章带你了解Redis数据类型

前言

Redis作为高性能键值存储(缓存/数据库),其数据类型设计是“高性能+多场景适配”的核心,也是面试高频考点、业务开发必备技能。本文将分「核心数据类型」「拓展数据类型」两大模块,讲透每个类型的特点、常用命令、实战场景,并附加记忆技巧,帮你快速掌握~

一、Redis核心数据类型(5大基础)

1. String(字符串)

定位:Redis最基础、最“万能”的数据类型

  • 核心特点:存储文本、整数、二进制数据(最大512MB);支持原子操作(线程安全)。

  • 常用命令:

    • 增改查: SET key value / GET key ;
    • 原子运算: INCR key (自增)/ DECR key (自减);
  • 拓展操作: APPEND key str (追加)/ SETNX key value (分布式锁核心)。

  • 实战场景:缓存HTML片段/用户会话、文章阅读量计数器、简单分布式锁。

  • 记忆小贴士:“基础万能钥匙”——啥数据都能存,原子操作是核心优势。

2. Hash(哈希表)

定位:结构化对象的“专属存储容器”

  • 核心特点:本质是“键值对集合”(类似Java HashMap);可单独修改字段,无需传输整个对象。

  • 常用命令:

    • 单字段操作: HSET key field value / HGET key field ;
    • 多字段操作: HMSET key field1 val1 field2 val2 / HGETALL key ;
    • 删除: HDEL key field 。
  • 实战场景:存储用户信息、商品详情(仅修改单个字段,节省带宽)。

  • 记忆小贴士:“对象容器”——结构化数据存储首选,比String更灵活。

3. List(列表)

定位:有序双向操作的“队列/栈工具”

  • 核心特点:基于双向链表实现,按插入顺序排序;支持两端插入/弹出,支持阻塞弹出。

  • 常用命令:

    • 插入: LPUSH key val (左插)/ RPUSH key val (右插);
    • 弹出: LPOP key / RPOP key / BLPOP key (阻塞左弹);
    • 范围查询: LRANGE key start end ( 0 -1 获取所有元素)。
  • 实战场景:简单消息队列( LPUSH+BRPOP )、朋友圈/新闻最新动态列表。

  • 记忆小贴士:“双向队列”——左右操作灵活,阻塞弹出是消息队列基础。

4. Set(集合)

定位:无序去重+集合运算的“社交工具”

  • 核心特点:元素无序、唯一;支持交集、并集、差集运算。

  • 常用命令:

    • 增查: SADD key val / SMEMBERS key ;
    • 集合运算: SINTER key1 key2 (交集)/ SUNION key1 key2 (并集);
    • 成员检查: SISMEMBER key val (判断元素是否存在)。
  • 实战场景:文章标签系统(自动去重)、共同好友查询。

  • 记忆小贴士:“去重计算器”——自动去重+集合运算,适配社交/标签场景。

5. Sorted Set(有序集合)

定位:带分数排序的“排行榜工具”

  • 核心特点:元素唯一,关联 score (分数)排序;支持按score范围查询/逆序排序。

  • 常用命令:

    • 增: ZADD key score val ;
    • 查: ZRANGE key start end (升序)/ ZREVRANK key val (逆序排名);
    • 删: ZREM key val 。
  • 实战场景:游戏积分榜、延时队列(score存时间戳)。

  • 记忆小贴士:“带分的集合”——score是排序依据,天生适配排行榜。

核心数据类型对比表

数据类型核心优势典型实战场景
String基础万能存储+原子操作缓存、计数器、分布式锁
Hash结构化对象存储用户信息、商品详情
List双向有序操作+阻塞弹出消息队列、最新动态列表
Set无序去重+集合运算标签系统、共同好友
Sorted Set按score排序+范围查询排行榜、延时队列

二、Redis拓展数据类型(4大进阶,业务提效)

1. Bitmaps(位图)

定位:布尔型数据的“空间压缩器”

  • 本质:基于String的位操作(0/1表示状态)。
  • 核心特点:极省空间(1亿用户签到仅需12MB);支持位运算(与/或/异或)。
  • 常用命令: SETBIT key offset 0/1 (设定位)、 GETBIT key offset (获取位)、 BITCOUNT key (统计1的数量)。
  • 实战场景:用户签到统计、7天连续活跃用户计算( BITOP AND )。

2. HyperLogLog(基数统计)

定位:海量数据的“低内存去重计数器”

  • 本质:概率型数据结构,牺牲0.81%精度换内存。
  • 核心特点:内存固定(仅12KB);支持多HyperLogLog合并。
  • 常用命令: PFADD key val1 val2 (添加元素)、 PFCOUNT key (统计基数)、 PFMERGE destKey key1 key2 (合并)。
  • 实战场景:网站UV统计、千万级数据去重计数。

3. Geospatial(地理位置)

定位:LBS场景的“地理工具包”

  • 核心特点:存储经纬度;支持距离计算、范围查询。

  • 常用命令:

    • 添加位置: GEOADD key 经度 纬度 名称 (如 GEOADD shops 116.40 39.90 shop1 );
    • 计算距离: GEODIST key name1 name2 km ;
    • 范围查询: GEOSEARCH key FROMLONLAT 经度 纬度 BYRADIUS 5 km 。
  • 实战场景:外卖“附近商家”推荐、物流轨迹追踪。

4. Stream(流)

定位:Redis5.0+的“可靠消息队列”

  • 核心特点:支持多消费者组;消息可ACK确认、可回溯(避免丢失)。

  • 常用命令:

    • 生产消息: XADD key * field1 val1 ( * 自动生成消息ID);

    • 消费消息: XREAD GROUP groupName consumerName COUNT 5 STREAMS key > ;

    • 创建消费组: XGROUP CREATE key groupName 0 。

  • 实战场景:可靠分布式消息队列、系统操作事件溯源。

拓展数据类型对比表

数据类型核心优势典型实战场景
Bitmaps布尔状态+极致省空间用户签到、连续活跃统计
HyperLogLog海量数据+低内存去重网站UV统计、大数据去重计数
Geospatial地理信息存储+距离/范围查询附近商家推荐、物流轨迹追踪
Stream多消费组+消息可靠投递分布式消息队列、操作事件溯源

三、Redis数据类型选择口诀(快速记忆)

  • 存对象 → 选Hash;
  • 排顺序 → List(插入序)/ Sorted Set(score序);
  • 去重+集合运算 → Set;
  • 布尔状态+省空间 → Bitmaps;
  • 海量去重计数 → HyperLogLog;
  • LBS地理场景 → Geospatial;
  • 可靠消息队列 → Stream。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 8:52:11

3.2 前后端通吃!用 Streamlit + FastAPI 丝滑集成你的 AI Agent

3.2 前后端通吃!用 Streamlit + FastAPI 丝滑集成你的 AI Agent 导语:蓝图已经绘就,是时候砌上第一块砖了。一个生产级的 AI 应用,绝不仅仅是后台的智能逻辑,更需要一个稳定可靠的服务端和一个与用户流畅交互的前端界面。在本章中,我们将进行一次“全栈开发”的冲刺,亲手…

作者头像 李华
网站建设 2026/7/5 4:13:02

9个AI写作工具,专科生论文格式规范全搞定!

9个AI写作工具,专科生论文格式规范全搞定! AI 工具如何让论文写作变得轻松高效 随着人工智能技术的不断发展,越来越多的专科生开始借助 AI 写作工具来提升论文写作效率。这些工具不仅能够帮助学生快速生成初稿,还能在格式规范、内…

作者头像 李华
网站建设 2026/7/4 18:33:16

9个AI论文工具,专科生轻松搞定毕业论文!

9个AI论文工具,专科生轻松搞定毕业论文! AI 工具如何改变论文写作的未来 在当今这个信息爆炸的时代,学术写作已经成为许多专科生必须面对的挑战。无论是毕业论文还是课程作业,撰写一篇结构严谨、内容详实的文章都是一项复杂而耗时…

作者头像 李华
网站建设 2026/7/5 10:29:12

10 个AI写作工具,助你轻松搞定本科论文!

10 个AI写作工具,助你轻松搞定本科论文! AI 写作工具,让你的论文写作不再焦虑 随着人工智能技术的不断发展,越来越多的本科生开始借助 AI 写作工具来提升论文写作效率。这些工具不仅能帮助学生快速生成内容,还能在降低…

作者头像 李华
网站建设 2026/7/2 18:47:17

开发AI Agent的多语言情感分析比较系统

开发AI Agent的多语言情感分析比较系统关键词:AI Agent、多语言情感分析、比较系统、自然语言处理、机器学习摘要:本文旨在深入探讨开发AI Agent的多语言情感分析比较系统。首先介绍了该系统开发的背景,包括目的、预期读者、文档结构和相关术…

作者头像 李华
网站建设 2026/7/4 4:16:32

48、Linux DBMS 管理全攻略

Linux DBMS 管理全攻略 在 Linux 环境下管理数据库管理系统(DBMS),涉及多个关键方面,包括系统管理、性能管理和进程管理等。下面将详细介绍这些方面的相关知识和操作方法。 系统管理 管理 Linux 数据库在很大程度上等同于管理 Linux 系统本身。系统管理主要涵盖以下六个…

作者头像 李华