一.SDS的简单介绍 SDS:简单动态字符串(simple dynamic string) 1)SDS是Redis默认的字符表示,比如包含字符串值的键值对都是在底层由SDS实现的 2)SDS用来保存数据库中的字符串值 3)SDS被用作缓冲区:比如AOF模块的AOF缓冲区,以及客户端 ...
整体思路: 惰性缩容。不释放空间,留给到期释放等机制释放。 加倍扩容。在需要空间达 M之前按新空间两倍分配空间,否则按新空间大小 M分配。注意, M Char。Char可以是 bits bits bits bits bits 具体代码块: 惰性缩容:https: github.com antirez sds blob master sds.c line 加倍扩容:https: github.com ...
2020-03-28 11:10 0 935 推荐指数:
一.SDS的简单介绍 SDS:简单动态字符串(simple dynamic string) 1)SDS是Redis默认的字符表示,比如包含字符串值的键值对都是在底层由SDS实现的 2)SDS用来保存数据库中的字符串值 3)SDS被用作缓冲区:比如AOF模块的AOF缓冲区,以及客户端 ...
sds和adlist一样,是redis的基础数据结构之一,是其为自身实现的字符串类型。A C dynamic strings library sds.h sds.c ...
String源码分析 类结构 String类实现了Serializable可以被序列化 String类实现了Comparable可以进行比较 String类实现了CharSequence可以按下标进行相关操作 并且String类使用final进行修饰,不可以被继承 属性 ...
前言:String类在日常开发过程中使用频率非常高,平时大家可能看过String的源码,但是真的认真了解过它么,笔者在一次笔试过程中要求写出String的equals方法,瞬间有点懵逼,凭着大致的理解,算是写出来了,可是下来一翻String的源码顿悟,原来自己写得是多么的low,所以有必要 ...
0.前言 Redis目前热门NoSQL内存数据库,代码量不是很大,本系列是本人阅读Redis源码时记录的笔记,由于时间仓促和水平有限,文中难免会有错误之处,欢迎读者指出,共同学习进步,本文使用的Redis版本是2.8.19。 1.数据结构篇 Redis之Hash数据结构 http ...
https://opentalk.upyun.com/277.html Redis 这个东西很简单,懂 C 语言的同学花一个下午,可以把它的来龙去脉都研究懂。但是,它麻雀虽小五脏俱全。一个常见的软件,比如 Redis,跑起来该用的东西可能都用一些,如果我们把 Redis 搞懂了,要分析一款 ...
一、ziplist简介 从上一篇分析我们知道quicklist的底层存储使用了ziplist(压缩列表),由于压缩列表本身也有不少内容,所以重新开了一篇,在正式源码之前,还是先看下ziplist的特点: 1. ziplist是一种特殊编码的双向列表,特殊编码是为了节省存储空间。 2. ...
一、quicklist简介 Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。 其底层实现所依赖的内部数据结构就是quicklist ...