Redis 源码分析压缩列表(ziplist)

Redis 源码分析压缩列表(ziplist)

压缩列表是由一系列特殊编码的连续内存块组成的顺序整数结构,一个压缩列表可以包含任意多个节点,每个节点可以保存一个字节数组或者一个整数。适合存储小对象和长度有限的数据。压缩列表是列表键和哈希键的底层实现之一,当列表键只包含少量列表项,并且每个列表项要么是小整数值,要么是长度比较短的字符串,那么 Red...

Redis 源码分析整数集合(intset)

Redis 源码分析整数集合(intset)

整数集合(intset)整数集合 intset 是 redis 中用于保存整数集合的数据类型,他可以保存为 16、32、或者 64 的整数值,且保证集合中不会出现重复的元素。/* Note that these encodings are ordered, so: * INTSET_ENC_INT1...

Redis入门及实战

6 课时 |
1896 人已学 |
免费

Redis入门到精通(进阶篇)

66 课时 |
1226 人已学 |
免费

Redis入门到精通(基础篇)

46 课时 |
1058 人已学 |
免费
开发者课程背景图
Redis 源码分析跳跃表(skiplist)

Redis 源码分析跳跃表(skiplist)

跳跃表特点1、按照 score 来排序,如果 score 相等,那么则按照 ele 来排序。2、平均查询时间复杂度 O(logn)。跳跃表实现跳跃表是由 server.h/zskiplistNode 和 server.h/zskiplist 两个结构定义其中zskiplistNode 结构用于订阅跳...

Redis 源码分析字典(dict)(下)

Redis 源码分析字典(dict)(下)

void databasesCron(void) { /* Expire keys by random sampling. Not required for slaves * as master will synthesize DELs for us. */ if (server.active_ex...

Redis 源码分析字典(dict)(中)

Redis 源码分析字典(dict)(中)

哈希算法哈希算法在 redis 中 hash 算法默认使用的是 siphash 算法(虽然也可以自定义)。计算哈希值和索引值的方法如下:1、使用字典设置的哈希函数,计算键 key 的哈希值hash = dict -> type -> hashFunction(Key);2、使用哈希表的 ...

Redis 源码分析字典(dict)(上)

Redis 源码分析字典(dict)(上)

字典(dict)简介字典,又称为符号表(symbol table)、关联数组(associative array )或映射(map), 是一种用于保存键值对(key-value pair)的抽象数据结构。字典通常作为一种数据结构类型很多高级语言中实现,但是 ...

Redis 源码分析链表(list)

Redis 源码分析链表(list)

list 简介redis 的链表没有什么特别之处,就是普通的双向链表 adlist.c/listNode。typedef struct listNode { struct listNode *prev; struct listNode *next; void *value; } listNode;多...

Redis 源码分析简单字符串 (sds)

Redis 源码分析简单字符串 (sds)

数据结构redis 为了节省内存,针对不同的长度数据采用不同的数据结构。sds.h 中定义了如下共五种,通常 SDS_TYPE_5 并不使用,因为该类型不会存放数据长度,每次都需要进行分配和释放。#define SDS_TYPE_5 0 #define SDS_TYPE_8 1 #define SD...

scrapy-redis 分布式爬取源码分析

scrapy是Python的一个非常好用的爬虫库,功能非常强大,但是当我们要爬取的页面非常多的时候,单个主机的处理能力就不能满足我们的需求了(无论是处理速度还是网络请求的并发数),这时候分布式爬虫的优势就显现出来,人多力量大。而scrapy-Redis就是结合了分布式数据库redis,重写了scra...

Redis之ziplist源码分析

Redis之ziplist源码分析 一、ziplist简介 从上一篇分析我们知道quicklist的底层存储使用了ziplist(压缩列表),由于压缩列表本身也有不少内容,所以重新开了一篇,在正式源码之前,还是先看下ziplist的特点: ziplist是一种特殊编码的双向列表,特殊编码是为了节省存...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

社区圈子

云原生多模数据库Lindorm
云原生多模数据库Lindorm
Lindorm是适用于任何规模、多种类型的云原生数据库服务,支持海量数据的低成本存储处理和弹性按需付费,兼容HBase、Solr、SQL、OpenTSDB等多种开源标准接口,是互联网、IoT、车联网、广告、社交、监控、游戏、风控等场景首选数据库,也是为阿里巴巴核心业务提供支撑的数据库之一。
1211+人已加入
加入
相关电子书
更多
2023云栖大会:阿里云Redis - 更稳更快更好用
阿里开发者手册-Redis专题
国内开发者与Redis开源社区的发展
立即下载 立即下载 立即下载