基本数据结构上

  • 简单动态字符串(SDS)
  • 双向链表
  • 字典
    • 数据结构
    • 迭代器
  • 线段跳表
    • 常规线段跳表
    • Redis中的线段跳表
  • 整数集合(intset)
    • intset优化点
  • 压缩列表(ziplist)
    • 数据结构
      • 数据为字符串
      • 数据为整数
    • ziplist注意点

简单动态字符串(SDS)

  • 数据结构

redis为了节省内存,针对不同的长度的数据采用不同的数据结构。如下共五种,但SDS_TYPE_5并不使用,因为该类型不会存放数据长度,每次都需要进行分配和释放:

Redis源码分析01——基本数据结构相关推荐

  1. Redis源码分析:基础概念介绍与启动概述

    Redis源码分析 基于Redis-5.0.4版本,进行基础的源码分析,主要就是分析一些平常使用过程中的内容.仅作为相关内容的学习记录,有关Redis源码学习阅读比较广泛的便是<Redis设计与 ...

  2. Redis源码分析(一)redis.c //redis-server.c

    Redis源码分析(一)redis.c //redis-server.c 入口函数 int main() 4450 int main(int argc, char **argv) {4451 init ...

  3. redis源码分析 -- cs结构之服务器

    服务器与客户端是如何交互的 redis客户端向服务器发送命令请求,服务器接收到客户端发送的命令请求之后,读取解析命令,并执行命令,同时将命令执行结果返回给客户端. 客户端与服务器交互的代码流程如下图所 ...

  4. 【转】Spring AMQP 源码分析 01 - Impatient

    转自首夜盲毒预言家的文章 Spring AMQP 源码分析 01 - Impatient ### 准备 ## 目标 了解 Spring AMQP 核心代码 ## 前置知识 RabbitMQ 入门 ## ...

  5. 10年大厂程序员是如何高效学习使用redis的丨redis源码分析丨redis存储原理

    10年大厂程序员是怎么学习使用redis的 1. redis存储原理分析 2. redis源码学习分享 3. redis跳表和B+树详细对比分析 视频讲解如下,点击观看: 10年大厂程序员是如何高效学 ...

  6. Redis源码分析 —— 发布与订阅

    前言 通过阅读Redis源码,配合GDB和抓包等调试手段,分析Redis发布订阅的实现原理,思考相关问题. 源码版本:Redis 6.0.10 思考问题 发布订阅基本概念介绍 订阅频道 -- SUBS ...

  7. Nginx源码分析:核心数据结构ngx_cycle_t与内存池概述

    nginx源码分析 nginx-1.11.1 参考书籍<深入理解nginx模块开发与架构解析> 核心数据结构与内存池概述 在Nginx中的核心数据结构就是ngx_cycle_t结构,在初始 ...

  8. Redis源码分析(一)--Redis结构解析

    从今天起,本人将会展开对Redis源码的学习,Redis的代码规模比较小,非常适合学习,是一份非常不错的学习资料,数了一下大概100个文件左右的样子,用的是C语言写的.希望最终能把他啃完吧,C语言好久 ...

  9. Redis 源码分析之故障转移

    在 Redis cluster 中故障转移是个很重要的功能,下面就从故障发现到故障转移整个流程做一下详细分析. 故障检测 PFAIL 标记 集群中每个节点都会定期向其他节点发送 PING 消息,以此来 ...

  10. Redis源码分析之PSYNC同步

    Redis master-slave 同步源码分析 (1)slave 流程分析 (2)master 流程分析 Slave 分析 当Redis 启动后,会每隔 1s 调用 replicationCron ...

最新文章

  1. 二叉树最近公共祖先节点
  2. Python语法中的模糊语义,你知道吗?
  3. [Xcode 实际操作]四、常用控件-(5)UILabel文本标签自定义文字样式
  4. 大牛书单 | 读懂5G,改变社会
  5. c语言素数程序出现大空行,C语言实现寻找大素数
  6. BZOJ3144: [Hnoi2013]切糕
  7. css解决li边框重合问题
  8. (转)新ITC提交APP常见问题与解决方法(Icon Alpha,Build version,AppIcon120x120)(2014-11-17)...
  9. Android与IOS异同点对照(1)------ 显示
  10. springcloud21---Config-bus实现配置自动刷新
  11. docker部署kafka,k8s(helm)部署kafka
  12. 关于Decision in process状态时间变化的解释
  13. linux 必知命令
  14. MySql命令行下导出、导入数据
  15. vue-router模块划分
  16. Android学习资源网站 1
  17. “易升”升级Win10卡在99%的处理办法
  18. 全新2021款 Jlink隔离器,ARM仿真器隔离,Jlink,Nu-link,ULINK的隔离,Cortex-M系列隔离仿真
  19. EXCEL2003版无法运行2007以上版本VBA程序
  20. [笨木头FireFly01]入门篇1·最简单的服务端和客户端连接

热门文章

  1. python sqlite3加密_sqlite3加密
  2. java 记牌_JAVA入门之简易扑克牌游戏
  3. matlab信道编码程序,信道编码作业matlab.doc
  4. HTML5七夕情人节表白结婚邀请函网页制作(HTML+CSS+JavaScript)
  5. 快速排序 C语言实现
  6. 2021如何提升网站的排名?SEO
  7. UE4 黑洞特效(C++)
  8. Spring框架学习记录二:装配Bean
  9. 51单片机自学笔记(一)——keil软件的使用
  10. 从世界第一黑客到顶级安全咨询专家,凯文•米特尼克的传奇