🎬 HoRain云小助手个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

Redis的7大数据结构

1. 字符串(String)

2. 列表(List)

3. 哈希(Hash)

4. 集合(Set)

5. 有序集合(Sorted Set)

6. 位图(Bitmap)

7. HyperLogLog

小贴士


img

Redis的7大数据结构

Redis作为高性能内存数据库,提供了丰富的数据结构来满足不同应用场景的需求。根据知识库信息,Redis的7大数据结构如下:

1. 字符串(String)

  • 底层实现:基于SDS(Simple Dynamic String)
  • 特点:最大长度512MB,支持预分配内存、惰性释放
  • 应用场景:缓存对象、计数器、分布式锁、Token/Session管理
  • 优点:操作O(1),极快,内存开销低
  • 缺点:结构简单,大量小key-value会造成key过多

2. 列表(List)

  • 底层实现:双向链表(Redis 3.2后使用quicklist)
  • 特点:有序,支持两端插入/删除,允许重复元素
  • 应用场景:消息队列、时间线(社交动态)、最新内容展示
  • 优点:两端操作O(1),支持阻塞式操作(brpop)
  • 缺点:中间元素操作成本O(n),大量list会产生内存碎片

3. 哈希(Hash)

  • 底层实现:小哈希使用ziplist/zipmap,大哈希使用hashtable
  • 特点:类似key-value的小字典,适合存储对象
  • 应用场景:用户信息、商品SKU、动态字段容器
  • 优点:字段更新不会整体序列化,比JSON更节省空间
  • 缺点:哈希表扩容会导致瞬时阻塞,大Hash性能不如String

4. 集合(Set)

  • 底层实现:hashtable或intset
  • 特点:无序、不重复,自动去重
  • 应用场景:共同好友、共同爱好(交集)、黑名单、抽奖系统
  • 优点:去重成本O(1),支持交并差集
  • 缺点:交集/差集时间复杂度偏高,大集合操作容易阻塞线程

5. 有序集合(Sorted Set)

  • 底层实现:跳表(skiplist)+ hash
  • 特点:有序、可按score排序,支持范围查找
  • 应用场景:排行榜(经典应用)、消息feed、带权重的数据存储
  • 优点:范围查找超级强(topN),有序队列首选结构
  • 缺点:内存消耗较大,写入比普通结构慢(log n)

6. 位图(Bitmap)

  • 特点:基于字符串的二进制位操作,不是独立数据类型
  • 应用场景:用户签到、在线状态、入侵检测、布隆过滤器
  • 常用命令:SETBIT、GETBIT、BITCOUNT、BITOP
  • 优点:高效存储和查询布尔信息,节省空间

7. HyperLogLog

  • 特点:概率数据结构,用于近似计算集合的基数(元素数量)
  • 应用场景:UV统计(如每日唯一访问用户数)、大数据量统计
  • 优点:极小的空间开销,统计大量数据
  • 缺点:存在一定的误差率(约0.81%)

小贴士

  • Redis的"7大数据结构"是基础数据结构,而Stream和Geo是Redis 3.2+新增的高级数据结构
  • 选择合适的数据结构对Redis性能和内存使用至关重要
  • 例如:需要实时排行榜就用Sorted Set,需要统计唯一访问量就用HyperLogLog

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐