redis3 0 7原始碼閱讀 一 原始碼檔案

2021-07-25 21:40:36 字數 2590 閱讀 1561

版本:redis 3.0.7

目錄:src

.gitignore #

adlist.h #雙端鍊錶實現

adlist.c #雙端鍊錶實現

ae.h #事件處理器

ae.c #事件處理器

ae_epoll.c #事件處理器

ae_evport.c #事件處理器

ae_kqueue.c #事件處理器

ae_select.c #事件處理器

anet.h #非同步網路框架

anet.c #非同步網路框架

aof.c #aof功能

asciilogo.h #logo

bio.h #後台i/o服務

bio.c #後台i/o服務

bitops.c #二進位制位操作命令

blocked.c #用於實現blpop命令和wait命令的阻塞效果

cluster.h #集群實現

cluster.c #集群實現

config.h #配置管理

config.c #配置管理

crc16.c #crc校驗

crc64.h #crc校驗

crc64.c #crc校驗

db.c #資料庫實現

debug.c #除錯實現

dict.h #字典實現

dict.c #字典實現

endianconv.h #大小端轉換

endianconv.c #大小端轉換

fmacros.h #一些移植性方面的巨集

help.h #幫助手冊

hyperloglog.c #hyperloglog資料結構的實現

inset.h #整數集合資料結構

inset.c #整數集合資料結構

latency.h #延時分析

latency.c #延時分析

lzf.h #lzf演算法(redis對字串和rdb檔案進行壓縮時使用的lzf壓縮演算法的實現)

lzf_c.c #lzf演算法

lzf_d.c #lzf演算法

lzfp.h #lzf演算法

makefile #

makefile.dep #

memtest.c #記憶體測試

mkreleasehdr.sh #

multi.c #事務功能的實現

networking.c #客戶端網路操作

notify.c #資料庫通知功能實現

object.c #物件系統實現

pqsort.h #快速排序

pqsort.c #快速排序

pubsub.c #發布與訂閱功能的實現

rand.h #偽隨機數生成器

rand.c #偽隨機數生成器

rdb.h #rdb持久化實現**

rdb.c #rdb持久化實現**

redis-benchmark.c #效能測試工具

redis-check-aof.c #aof檔案檢查

redis-check-dump.c #rdb檔案檢查

redis-cli.c #客戶端實現

redis-trib.rb #集群的管理程式

redis.h #redis的主要標頭檔案,記錄了redis中的大部分資料結構

redis.c #負責伺服器的啟動、維護和關閉等事項

redisassert.h #斷言巨集

release.c #記錄和生成redis的發布版本資訊

replication.c #主從複製的實現

rio.h #檔案i/o函式的包裝

rio.c #檔案i/o函式的包裝

scripting.c #指令碼功能的實現

sds.h #sds資料結構的實現

sds.c #sds資料結構的實現

sentinel.c #sentinel實現

setproctitle.c #程序環境設定函式

sha1.h #sha1校驗和計算函式

sha1.c #sha1校驗和計算函式

slowlog.h #慢查詢日誌

slowlog.c #慢查詢日誌

solarisfixes.h #針對solaris系統的補丁

sort.c #sort命令的實現

sparkline.h #微線圖

sparkline.c #微線圖

syncio.c #同步i/o操作

t_hash.c #資料型別

t_list.c #資料型別

t_set.c #資料型別

t_string.c #資料型別

t_zset.c #資料型別

testhelp.h #測試輔助巨集

util.h #各種輔助函式

util.c #各種輔助函式

valgrind.sup #

version.h #版本

ziplist.h #ziplist資料結構的實現

ziplist.c #ziplist資料結構的實現

zipmap.h #zipmap資料結構的實現

zipmap.c #zipmap資料結構的實現

zmalloc.h #記憶體管理程式

zmalloc.c #記憶體管理程式

原文出自:

end;

redis原始碼閱讀筆記

在redis中乙個資料庫結構體是這樣的 每個dict是乙個hash表 typedef struct redisdb redisdb dict欄位中存放以key值為鍵,以value指標為值的hash表項dict根據型別的不同分為如下幾種 1 字串 string 操作 set key value get...

linux核心原始碼閱讀(一)從何處閱讀原始碼

像linux核心這樣龐大而複雜的程式看起來確實讓人望而生畏,它象乙個很大的球,沒有起點和終點。在讀源 的過程中,你會遇到這樣的情況,當讀到核心的某一部分時又會涉及到其它更多的檔案,當返回到原來的地方想繼續往下讀時,又忘了原來讀的內容。在internet上,很多人為此付出了很大的努力,製作出了源 導航...

Redis之object原始碼閱讀

robj createobject int type,void ptr 傳入我們要建立的物件的型別,和資料結構的引用,返回乙個建立的物件 createrawstringobject 建立乙個raw編碼格式的字串物件 robj createrawstringobject char ptr,size t...