Redis基礎資料結構內部實現簡單介紹

2021-10-06 17:32:47 字數 927 閱讀 8660

5種基礎資料結構

string(字串)

set age 30

incr age //自增

list(列表)

右近左出:佇列

右邊進右邊出:棧

警惕慢操作

ltrim key start_index end_index // 刪除start_index到 end_index以外的所有元素
內部儲存:快速列表

hash(字典)

127.0

.0.1

:6379

> hset user age 29

(integer)

1127.0

.0.1

:6379

> hset user height 171

(integer)

1127.0

.0.1

:6379

> hincrby user height

(error) err wrong number of arguments for

'hincrby' command

127.0

.0.1

:6379

> hincrby user height 1

(integer)

172127.0

.0.1

:6379

> hget user height

"172"

set(集合)

zset(有序列表)

跳躍列表

跳躍表中節點可以在多個層級有多個身份,跳躍表採用隨機策略決定新元素可以到第幾層,l0層概率是1 ,l1 只有50%對半分,l2 再次25%,l3只有12.5%,依次,一直隨機到頂層l31,每次對半,到頂層基本不會有很多資料。

容器型別資料結構的通用規則

Redis內部資料結構實現解析

redis目前在key value儲存以及快取系統中有著非常廣泛的應用,且以高效快速著稱。不同於其他key value資料庫,redis提供了豐富的資料結構型別,value可以是字串 列表 雜湊和有序集等,為使用者操作帶來了極大的便利。本文希望通過分析其內部資料結構及演算法的實現機制,來揭示其高效能...

redis內部資料結構的資料結構

redis對外的公眾的資料結構有五種string,list,set,hash,zset 編碼常量 編碼所對應的底層資料結構 redis encoding int long 型別的整數 redis encoding embstr embstr 編碼的簡單動態字串 redis encoding raw ...

Redis學習筆記 Redis內部資料結構

redis內部資料結構 redis和其他key value資料庫的很大區別是它支援非字串型別的value值。它支援的value值的型別如下 sds dynamic string 簡單動態字串 雙端鍊錶 字典 dictionary map associative array 跳躍表 skiplist ...