dict.c
在 valkey 原始檔案中,有 dict.c 還有 t_hash.c 與 t_set.c 三者檔案中,第一個檔案是提供通用的 key-value 的操作,後兩者在特定情況下會使用 dict.c 作為底層儲存,但也會根據資料大小和特性選擇其他更適合的編碼方式(如 listpack、intset) 來改進記憶體使用與效能。
dict.c 提供通用的 key-value
具有幾大特色
由陣列存值,並用 single linked list 做 chaining 以解決 collision 所組成
基本雜湊表操作:新增、刪除、查找
動態調整大小:自動擴展和收縮
增量式重新雜湊(Incremental rehashing)