1.字典相關的幾個結構體 2.動態擴容方法 int dictRehash(dict *d, int n) 為了對dictht進行動態擴容,rehash方法將ht[0]中的值搬n個到ht[1]中, 分批次進行搬運,直到ht[0]中的值都搬到ht ...
1.字典相關的幾個結構體 2.動態擴容方法 int dictRehash(dict *d, int n) 為了對dictht進行動態擴容,rehash方法將ht[0]中的值搬n個到ht[1]中, 分批次進行搬運,直到ht[0]中的值都搬到ht ...
Redis 中,字典是基礎結構。Redis 數據庫數據、過期時間、哈希類型都是把字典作為底層結構。 字典的結構 哈希表 哈希表的實現代碼在:dict.h/dictht ,Redis 的字典用哈希表的方式實現。 table 是一個哈希表數組,每個節點的實現在 dict ...
這份代碼是redis的client接口,其和server端的交互使用了deps目錄下的hiredis c庫,同時,在這部分代碼中,應用了linenoise庫完成類似history命令查詢、自動補全等終端控制功能。 struct commandHelp { 20 char *name ...
dict的用途 dict是一種用於保存鍵值對的抽象數據結構,在redis中使用非常廣泛,比如數據庫、哈希結構的底層。 當執行下面這個命令: 以及使用哈希結構,如: 都會使用到dict作為底層數據結構的實現。 結構的定義 先看看字典以及相關數據結構體的定義: 字典 ...
ae.c是redis事件框架的具體實現,這篇blog對這份源碼進行簡單說明。其中談到了作者已經標記的一些未來可能做的改進。 ae.c ...
aof是redis提供的一種數據持久化機制,通過將每一條命令dump下來,保持數據和內存中的數據一致。 ...
redis的內存分配主要就是對malloc和free進行了一層簡單的封裝。具體的實現在zmalloc.h和zmalloc.c中。本文將對redis的內存管理相關幾個比較重要的函數做逐一的介紹 參考: http://blog.csdn.net/guodongxiaren/article ...
sds和adlist一樣,是redis的基礎數據結構之一,是其為自身實現的字符串類型。A C dynamic strings library sds.h sds.c ...