原文: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