Redis源码 - Set(集合)
2021/10/16 2:17:17
本文主要是介绍Redis源码 - Set(集合),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
通常我们把Redis Set结构称为无序集合,这在一定程度上是有道理的。为什么是一定程度上呢,因为通过源码的实现过程我们发现了一些小细节。从sadd命令开始入手:
sadd先按照redis的一贯套路 检查key是否存在,不存在就创建,存在就直接添加值。只是在sadd在创建key的时候它动了一点小心思,是什么呢?看代码先:
简单理解就是如果传入的值能够被转换为数字类型则使用的intset这种方式来保存数据,不能就用set的方式来保存。那intset是什么,set又是什么呢?
intset就是intset结构体,而set就是dict结构体。而dict上的dictEntry被定义成了一个链表的形式(由于目前笔者c水平有限,细节就没法解释了
这篇关于Redis源码 - Set(集合)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识