Redis redis3 0原始碼目錄

2021-06-21 00:31:08 字數 2309 閱讀 6857

作者的注釋很詳細,看其檔案頭注釋就明白該檔案的作用與目的,如下是對各原始檔的概括性描述:

adlist.c         // 雙向鍊錶結構,用於定義list

ae.c // 用於事件的處理

ae_epoll.c // 處理epoll事件

ae_evport.c // 通過event ports實現處理介面

ae_kqueue.c // 實現訊息佇列的處理

ae_select.c // 處理select事件

anet.c // 網路處理

aof.c // 實現aof模式

bio.c // 在後台通過執行緒模式實現io處理

bitops.c // 與setbit,getbit相關的位操作

blocked.c // 支援類似blpop,wait的阻塞操作

cluster.c // 與集群建立,通訊相關的實現

config.c // 配置檔案的解析

crc16.c // 基於ccitt標準的過濾演算法

crc64.c

db.c // c-level資料庫api實現

debug.c // 除錯庫與日誌輸出

dict.c // 字典實現

endianconv.c // 主機位元組序編譯碼, redis致力於使用little endian來編碼

intset.c // int集合型別實現

lzf_c.c // lzf壓縮演算法

lzf_d.c

memtest.c // 記憶體測試

multi.c // 批量命令操作的原子實現

networking.c // 網路通訊實現

noti.c // 通過pub/sub實現的keyspace事件通知

object.c // 物件的儲存型別

pqsort.c // 一種快速排序實現

pubsub.c // 發布/訂閱模式

rand.c // 隨機序列的生成

rdb.c // rdb資料的load與dump

redis.c // redis資料庫的主程式入口

redis-benchmark.c // redis基準測試入口

redis-check-aof.c // aof檔案檢查入口

redis-check-dump.c // dump檔案檢查入口

redis-cli.c // redis的shell客戶端

release.c // 版本發布資訊

replication.c // 資料的主從備份

rio.c // 流式i/o的讀寫介面

scripting.c // redis相關協議轉換到lua環境下執行

sds.c // 強大的字串處理機制

sentinel.c // redis(集群)的監護程式

setproctitle.c // 程式名資訊相關?

sha1.c // sha1加密演算法

slowlog.c // 記錄最近一段時間的查詢等操作

sort.c // 排序演算法及輔助函式

syncio.c // 同步io的實現

t_hash.c // hash結構

t_list.c // list結構

t_set.c // set結構

t_string.c // string結構

t_zset.c // 用兩種資料結構儲存同乙個資料體

util.c // 輔助函式

ziplist.c // ziplist結構

zipmap.c // zipmap結構

zmalloc.c // 在malloc上進行封裝,增加記憶體開銷統計

要了解其原理,還是得深入其**學習。下一步應該可以先了解關於個資料結構的實現。

EventBus3 0原始碼解析

eventbus的註冊 eventbus.getdefault register this 那麼我們來看一下eventbus.getdefault 到底做了一下什麼操作 public static eventbus getdefault return defaultinstance 就是拿到了eve...

VUE 3 0原始碼之effect

effect方法主要用於處理函式的響應式,可用於計算屬性和watcheffect等功能,通過觸發函式中響應式變數的proxy的get方法實現將自身加入到proxy的deps中,實現與proxy關聯,也可以將其他依賴收集到自己的deps中 1.effect 建立乙個effect函式,如果不是lazy建...

jquery3 0原始碼解讀(二)Extend

上一節我們開啟了 src core.js檔案,但是僅僅看了它的jquery物件的賦值。這節我們來仔細分析core.js檔案中的乙個重要內容 extend。如果,簡單翻閱過jquery原始碼的話,你會發現原始碼中,也有多處呼叫了extend函式。所以,這個extend不光為外部提供呼叫,jquery內...