快速列表一. 基本结构①. ziplist 和 linkedlist介绍②. quicklistNode 基本结构②. quicklistLZF 结构③. quicklist 结构④. 插入⑤. 查找⑥. 删除 一. 基本结构①. ziplist 和 linkedlist介绍Redis3.2版本开始对列表数据结构进行了改造,使用 quicklist 代替了 ziplist 和 linkedlis            
                
         
            
            
            
                    quicklist是redis在3.2版本中加入的新的数据结构,用作redis对外提供的五种数据类型---list的底层实现。本文关于redis的讲解都是基于redis-4.0.1版本的源码。        黄建宏老师的《redis设计与实现》第二版是针对redi            
                
         
            
            
            
            #1.3 链表 ##1.3.1 头插法建立单链表 #include <stdio.h> #include <stdlib.h> typedef char datatype; typedef struct node{ datatype data; struct node *next; } listno
                    
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-29 00:01:15
                            
                                272阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            LinkList:java中jdk1.6之后java.util.LinkList 类中对分装链表的理解:第一部分:熟悉LinkList中哪些方法和其构造;第二部分熟悉使用JDK中LinkList的API接口 第1部分:LinkList 的介绍:linklist:是一个双向链表,当做堆栈,队列或者双端队列进行操作;当做stack时候只能用push,pop,peek方法;当做队列时候用 ad            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-01 13:01:48
                            
                                34阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ?大家好,我是:知识的搬运工旺仔 带你玩转Redis 的 Set 数据类型1. Set 数据类型简介2. 向集合中添加元素3. 获取集合元素4. 集合运算5. 删除集合元素 1. Set 数据类型简介集合set 是 String 类型的无序集合set集合无序,并且不重复集合底层是由哈希表来实现的,时间复杂度为O(1)2. 向集合中添加元素SADD key member [member…]:::su            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-30 08:49:21
                            
                                52阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             #include <iostream>
class MyLinkList
{
public:
    struct ListNode
    {
        // 节点数据域
        int val;
        // 节点指针域
        ListNode *next;
        // 有参构造,用于初始化head指针;
                    
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-22 07:49:20
                            
                                53阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文及后续文章,Redis版本均是v3.2.8我们说到redis object数据结构,其有5中数据类型:OBJ_STRING,OBJ_LIST, OBJ_SET,OBJ_ZSET,OBJ_HASH。集合对象set有着广泛的实际业务应用场景,它包含的元素无序并且不能重复及集合间的交、并、差等基础的操作。本篇就来说说Redis暴露给我们使用的set集合对象的底层实现-intset。其实,可            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-07 10:21:45
                            
                                101阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            介绍Hash 是一个键值对(key - value)集合,其中 value 的形式入:value=[{field1,value1},...{fieldN,valueN}]。Hash 特别适合用于存储对象。Hash和String对象的区别内部实现Hash 类型的底层数据结构是由压缩列表或哈希表实现的:如果哈希类型元素个数小于 512 个(默认值,可由 hash-max-ziplist-entries            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-28 22:35:18
                            
                                57阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一. 引言其实想知道LinkedList是个啥,知道什么是链表,什么是数组即可数组特点在内存中,数组是一块连续的区域.数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间.三种情况有空间没有被使用太多就要扩容数组更换数组插入,删除效率低.因为其连续性,插入和删除一个元素其后面的元素都要向前或向后移动随机读取效率高.因为数组是连续的,知道每一个数据的内存地址,可以直接找到给地址的数据不            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-03-09 16:26:03
                            
                                318阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            1. LinkList原理LinkedList 和 ArrayList 一样,都实现了 List 接口,但其内部的数据结构有本质的不同。LinkedList 是基于链表实现的(通过名字也能区分开来),所以它的插入和删除操作比 ArrayList 更加高效。但也是由于其为基于链表的,所以随机访问的效率要比 ArrayList 差。LinkedList底层的数据结构是基于双向循环链表的,且头结点中...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-14 14:16:36
                            
                                603阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Redis的常用数据结构1.stringstring 数据结构是简单的 key-value 类型常用命令: set,get,strlen,exists,dect,incr,setex应用场景 :常用在需要计数的场景,比如用户的访问次数、热点文章的点赞转发数量2.listlist 是双向链表,易于插入删除,但是随机访问比较困难常用命令: rpush,lpop,lpush,rpop,lrange、ll            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-30 15:21:06
                            
                                131阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
               Hash 结构存储值与结构读写能力:  包含键值对的无序散列表  添加,获取,移除单个键值对; 获取所有键值对. 存储类似HashMap的数据   hash是日常开发过程中使用的 Redis 的一个数据结构,其底层实现方式有量汇总,如下所示。一种是 zipList,这种是 hash 结构的 v 值较小的时候采用的编码方式。另一种方式是字典 dict,当 hash 结构的v            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-07 23:08:44
                            
                                74阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            redis的hash数据类型 是一个键值对集合 也就是数据结构中的集合数据结构,元素除同处一个集合内并无关联性! 它是一个 string 类型的filed value映射表 ,redis本身是 key value类型的数据库 ,hash相当于在value中又嵌套了一层, 基于字典 或 压缩列表实现 ,默认是 基于压缩列表结构 ,因为能够节省空间, 当然我们也可以自己去转换为字典结构!一,hash表            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-04 22:55:36
                            
                                32阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            更多内容,前往个人博客Reids 所有的数据结构都以唯一的 key 字符串作为名称,然后通过这个唯一的 key 值来获取相应的 value 数据。不同的数据结构差异就在于 value 的结构不一样。一、Redis 五大数据类型【1】String(字符串):String 是 Redis 最基本的类型,一个 key 对应一个 value。String 类型是二进制安全的。意思是 Redis 的 Str            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-06 11:02:01
                            
                                295阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1、String Redis构建的简单动态字符串(Simple Dynamic String),简称SDS 优点: 传统字符串(C字符串) SDS 1. 获取字符串长度的复杂度为O(N) 获取字符串长度的复杂度为O(1) 2. API 是不安全的,可能会造成缓冲区溢出 API 是安全的,不会造成缓冲 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-23 16:24:00
                            
                                118阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            redis支持多种数据类型,string,list,hash,set,zset,这个可能很多人都已经了如指掌了,但是redis中这些基本的数据类型都是由什么数据机构进行实现的呢,这其中的原理又是怎么样的呢?这篇文章主要来针对redis中每种数据类型的具体实现进行详细介绍。基本的数据结构首先,需要整体上了解一下redis中用到的一些基本数据结构的含义和概念。 1、字符串SDS:简单动态字符串,red            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-13 16:02:47
                            
                                57阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Redis的字典使用哈希表作为底层实现,一个哈希表里面有多个哈希表节点,而每个哈希表节点保存了字典中的一个键值对(key-value) ###1.字典的实现说白了,基本上就是跟Java中的HashMap一样一样的###1.1 哈希表typedef struct dictht{
	//哈希表数组 数组中的每个元素都指向 dict.h/dictEntry结构的指针,
	//每个dictEntry结构保            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-15 10:55:56
                            
                                307阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            redis hash的底层是压缩列表 和 哈希表两种形式 ,哈希表的形式是下面这样一层层嵌套的 , 转载自公众号 CodeSheep 源码中这几种类型的定义 这里面的哈希结点dictEntry使用链地址法解决哈希冲突问题 字典dict里存了两个哈希表dictht , 用于处理rehash过程 , 哈            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-06-17 19:26:09
                            
                                585阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Redis String 类型底层结构
## 引言
Redis 是一个开源的内存数据库,被广泛应用于缓存、队列、计数器等场景中。在 Redis 中,String 类型是最基本的数据结构之一,用于存储文本或二进制数据。本文将介绍 Redis String 类型的底层结构,帮助读者更深入地理解 Redis 中的数据存储和操作。
## Redis String 类型底层结构
在 Redis 中,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-02-19 06:35:57
                            
                                34阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录LinkList.cpp //链表相关操作的实现LinkList.hLinkListManager.cpp //链表相关实现函数的调用LinkListManager.hLinkList.cpp //链表相关操作的实现//// Created by leoxae on 19-11-5.//#include "LinkList.h"            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-29 00:01:29
                            
                                298阅读
                            
                                                                             
                 
                
                                
                    