sds和adlist一樣,是redis的基礎數據結構之一,是其為自身實現的字符串類型。A C dynamic strings library sds.h sds.c ...
initServer是redis對server進行初始化的入口,其由main調用,位於initServerConfig 命令行參數解析 守護進程判定之后,是server最重要的入口點。 盡管代碼看似簡單 行代碼,且大量的賦值語句 ,但順藤摸瓜,有很多點值得仔細看看。接下來逐行分析: 函數第一件事是對信號進行處理: redis多作為守護進程運行,這時其不會有控制終端,首先忽略掉SIGHUP信號。 見 ...
2012-05-30 21:23 2 3767 推薦指數:
sds和adlist一樣,是redis的基礎數據結構之一,是其為自身實現的字符串類型。A C dynamic strings library sds.h sds.c ...
serverCron是redis每隔100ms執行的一個循環事件,由ae事件框架驅動。其主要執行如下任務: 1.記錄循環時間: redis使用全局狀態cache了當前的時間值。在vm實現以及lru實現中,均需要對每一個對象的訪問記錄其時間,在這種情況下,對精度的要求並不 ...
aof是redis提供的一種數據持久化機制,通過將每一條命令dump下來,保持數據和內存中的數據一致。 ...
redis配置文件的頭文件,有一些和平台有關的配置,在這里邊進行設置。 config.h config.c 讀取配置文件,以及和配置文件有關的client命令的執行函數,可謂又臭又長,看看就好。 ...
這份代碼是redis的client接口,其和server端的交互使用了deps目錄下的hiredis c庫,同時,在這部分代碼中,應用了linenoise庫完成類似history命令查詢、自動補全等終端控制功能。 struct commandHelp { 20 char *name ...
多名專家聯袂推薦,資深專家聯合撰寫,深入理解Redis 5設計精髓。本書系統講解Redis 5設計、數據結構、底層命令實現,以及持久化、主從復制、集群的實現。全書分為三篇,共計22章內容。第一篇,重點講解了SDS、跳躍表、壓縮列表、字典、整數集合、quicklist和Stream數據結構的實現 ...
ae.c是redis事件框架的具體實現,這篇blog對這份源碼進行簡單說明。其中談到了作者已經標記的一些未來可能做的改進。 ae.c ...
這篇blog介紹dict的實現。 dict.c ...