行业知识
【Redis】深入理解 Redis 常用数据类型源码及底层实现(6.详解Set和ZSet数据结构)
2026-11-04 05:03:43
来源:互联网转载
��本文是深入理解 Redis 常用数据类型源码及底层实现系列的第6篇~前5篇可移步( ̄∇ ̄)/
【Redis】深入理解 Redis 常用数据类型源码及底层实现(1.结构与源码概述)-CSDN博客
【Redis】深入理解 Redis 常用数据类型源码及底层实现(2.版本区别+dictEntry & redisObject详解)-CSDN博客
【Redis】深入理解 Redis 常用数据类型源码及底层实现(3.详解String数据结构)-CSDN博客
【Redis】深入理解 Redis 常用数据类型源码及底层实现(4.详解Hash数据结构)_查看 hash-max-ziplist-entries 命令-CSDN博客
【Redis】深入理解 Redis 常用数据类型源码及底层实现(5.详解List数据结构)-CSDN博客
本文目录
Set数据结构
ZSet数据结构
t_zset.c
skiplist
Set数据结构
Set数据结构相对其他的数据结构比较简单,因为从Redis 6到Redis 7都没变~底层都是哈希表+整数数组,即使用intset和hashtable存储set的,如果元素都是整数类型就使用intset,如果不是则使用hashtable(数组+链表,key是元素值,value是null)
我们看下当执行命令sadd时,Redis底层到底做了些什么
在方法setTypeCreate()中,我们可以看到当集合元素都是LongLong类型并且集合元素个数