• 2024-08-30[Redis]Intset
    intset小整数集合set集合容纳的元素都是整数并且元素个数较少时,Redis会使用intset来存储集合元素。intset是紧凑的数组结构,同时支持16位、32位和64位整数structintset<T>{ int32encoding;//决定整数位宽是16位、32位还是64 int32length;//元素个数 i
  • 2024-08-15Redis数据结构:动态字符串SDS、Intset、Dict详解
    动态字符串:我们都知道Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。不过Redis没有直接使用C语言中的字符串,因为C语言字符串存在很多问题:获取字符串长度的需要通过运算非二进制安全不可修改Redis构建了一种新的
  • 2024-06-05go语言方法之封装
        一个对象的变量或者方法如果对调用方是不可见的话,一般就被定义为“封装”。封装有时也叫信息隐藏,同时也是面向对象编程的一个方面。    Go语言只有一种控制可见性的手段:大写首字母的标识符会从定义它们的包中被导出,小写的字母则不会。这种限制包内成员的
  • 2024-06-01Redis笔记——对象之 SET
    是什么?        Redis的Set是一个无序的、不重复的集合字符串集合。        如果底层数据编码为INTSET,其实是有序的,不过不推荐依赖这个,整体还是看作无序来使用为好。场景        无序集合场景。如关注了那些公众号,Set提供了查交集、并集的功能
  • 2024-05-25Redis 源码学习记录:集合 (set)
    无序集合Redis源码版本:Redis-6.0.9,本篇文章无序集合的代码均在intset.h/intset.c文件中。Redis通常使用字典结构保存用户集合数据,字典键存储集合元素,字典值为空。如果一个集合全是整数,则使用字典国语浪费内存。为此,Redis设计了intset数据结构,专门用来保存整数