redis 的數(shù)據(jù)類型使用不同的底層存儲結(jié)構(gòu):字符串:簡單動態(tài)字符串(sds)哈希:哈希表,使用鏈表或跳躍表處理哈希碰撞列表:雙向鏈表集合:哈希表或整數(shù)集合,使用布隆過濾器有序集合:跳躍表或字典地理空間索引:跳躍表或 r 樹
Redis 數(shù)據(jù)類型底層存儲結(jié)構(gòu)
Redis 是一款高性能 NoSQL 數(shù)據(jù)庫,支持多種數(shù)據(jù)類型,每種類型都采用不同的底層存儲結(jié)構(gòu)。
字符串 (string)
底層存儲結(jié)構(gòu):簡單動態(tài)字符串 (SDS)
SDS 采用預(yù)分配內(nèi)存,減少內(nèi)存分配和釋放的開銷。
SDS 可以存儲二進(jìn)制或文本數(shù)據(jù),并支持高效的拼接和修改操作。
哈希 (hash)
底層存儲結(jié)構(gòu):哈希表
哈希表使用哈希函數(shù)將鍵映射到值。
每個鍵都存儲在哈希表中,由一個指向值的指針表示。
對于每個哈希桶,使用鏈表或跳躍表來存儲哈希碰撞。
列表 (list)
底層存儲結(jié)構(gòu):雙向鏈表
雙向鏈表將元素鏈接成一個順序列表。
鏈表中的每個元素都存儲一個指向下一個元素和前一個元素的指針。
鏈表支持高效的插入、刪除和查找操作。
集合 (set)
底層存儲結(jié)構(gòu):哈希表或整數(shù)集合
使用哈希表存儲元素,并使用布隆過濾器進(jìn)行快速成員資格檢查。
整數(shù)集合僅適用于存儲整數(shù),并采用更緊湊的存儲結(jié)構(gòu)。
有序集合 (zset)
底層存儲結(jié)構(gòu):跳躍表或字典
跳躍表將元素組織成多層鏈表,實現(xiàn)高效的有序查找。
字典將元素存儲在哈希表中,并使用跳躍表來維護(hù)順序。
地理空間索引 (geospatial)
底層存儲結(jié)構(gòu):跳躍表或 R 樹
跳躍表用于存儲地理空間點的坐標(biāo)。
R 樹是一個層次結(jié)構(gòu),用于高效查找和范圍查詢。






