原文:Redis源码分析: String(SDS)容量调整分析

整体思路: 惰性缩容。不释放空间,留给到期释放等机制释放。 加倍扩容。在需要空间达 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 推荐指数:

查看详情

Redis学习之SDS源码分析

一.SDS的简单介绍 SDS:简单动态字符串(simple dynamic string) 1)SDSRedis默认的字符表示,比如包含字符串值的键值对都是在底层由SDS实现的 2)SDS用来保存数据库中的字符串值 3)SDS被用作缓冲区:比如AOF模块的AOF缓冲区,以及客户端 ...

Sat Apr 20 18:53:00 CST 2019 0 1200
redis源码笔记-sds

sds和adlist一样,是redis的基础数据结构之一,是其为自身实现的字符串类型。A C dynamic strings library sds.h sds.c ...

Sat May 12 17:10:00 CST 2012 2 4448
Java String源码分析

String源码分析 类结构 String类实现了Serializable可以被序列化 String类实现了Comparable可以进行比较 String类实现了CharSequence可以按下标进行相关操作 并且String类使用final进行修饰,不可以被继承 属性 ...

Tue Apr 28 06:22:00 CST 2020 0 673
String源码分析

前言:String类在日常开发过程中使用频率非常高,平时大家可能看过String源码,但是真的认真了解过它么,笔者在一次笔试过程中要求写出String的equals方法,瞬间有点懵逼,凭着大致的理解,算是写出来了,可是下来一翻String源码顿悟,原来自己写得是多么的low,所以有必要 ...

Tue Aug 20 19:40:00 CST 2019 0 399
Redis源码分析系列

0.前言   Redis目前热门NoSQL内存数据库,代码量不是很大,本系列是本人阅读Redis源码时记录的笔记,由于时间仓促和水平有限,文中难免会有错误之处,欢迎读者指出,共同学习进步,本文使用的Redis版本是2.8.19。 1.数据结构篇   Redis之Hash数据结构   http ...

Thu Oct 29 05:51:00 CST 2015 3 1550
Redis源码分析

https://opentalk.upyun.com/277.html Redis 这个东西很简单,懂 C 语言的同学花一个下午,可以把它的来龙去脉都研究懂。但是,它麻雀虽小五脏俱全。一个常见的软件,比如 Redis,跑起来该用的东西可能都用一些,如果我们把 Redis 搞懂了,要分析一款 ...

Wed Jul 11 23:49:00 CST 2018 0 789
Redis之ziplist源码分析

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

Sun Apr 19 23:28:00 CST 2020 0 676
Redis之quicklist源码分析

一、quicklist简介 Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。 其底层实现所依赖的内部数据结构就是quicklist ...

Sat Apr 18 21:47:00 CST 2020 0 622
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM