在redis中乙個資料庫結構體是這樣的
每個dict是乙個hash表
typedef struct redisdb redisdb;
// dict欄位中存放以key值為鍵,以value指標為值的hash表項
dict根據型別的不同分為如下幾種:
1、字串(string) 操作 set "key" "value"; get "key"
鍵是key的字串物件,value是value的字串物件
2、雜湊(hashes)操作 hset key field value
當field的數量少於一定數量時 鍵是key的字串物件,值是zipmap的buffer buffer中內容形如 field1:value1 field2:value2
當field的數量多於一定量時,值公升級為乙個dict物件指標,dict中存放field和value的鍵值對
3、列表(lists)操作 lpush key value
鍵為key的字串物件,值為ziplist物件,value
4、集合(sets)操作 sadd setname member
鍵為key的字串物件,值為dict物件
dict的鍵為member,值為null指標
5、有序集合(sorted sets)
鍵為key的字串物件,值為ziplist物件
參考博文
Redis學習筆記 原始碼閱讀 整數集合
整數集合 intset 是乙個有序的 儲存整型資料的結構,當redis集合型別的元素都是整數並且都處在64位有符號整數範圍之內時,使用該結構體儲存。在兩種情況下,底層編碼會發生轉換。整數集合在redis中可以儲存int16 t int32 t int64 t型別的整型資料,並且可以保證集合中不會出現...
閱讀筆記 fsnotify原始碼閱讀
fsnotify的github位址是 fsnotify是乙個資料夾監控應用。可以使用建立乙個watcher來對某個資料夾進行監控 檔案目錄很簡單,實際就兩個程式檔案,fsnotify.go 和 各平台的fsnotify go 後乙個檔案是各個不同平台的實現 example test.go中給的是最簡...
《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具
檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...