Redis 跳躍表 API

2018-08-02 14:45 更新

表 5-1 列出了跳躍表的所有操作 API 。


表 5-1 跳躍表 API

函數(shù) 作用 時間復(fù)雜度
zslCreate 創(chuàng)建一個新的跳躍表。 O(1)
zslFree 釋放給定跳躍表,以及表中包含的所有節(jié)點。 O(N) , N 為跳躍表的長度。
zslInsert 將包含給定成員和分值的新節(jié)點添加到跳躍表中。 平均 O(N) , N 為跳躍表長度。
zslDelete 刪除跳躍表中包含給定成員和分值的節(jié)點。 平均 O(N) , N 為跳躍表長度。
zslGetRank 返回包含給定成員和分值的節(jié)點在跳躍表中的排位。 平均 O(N) , N 為跳躍表長度。
zslGetElementByRank 返回跳躍表在給定排位上的節(jié)點。 平均 O(N) , N 為跳躍表長度。
zslIsInRange 給定一個分值范圍(range), 比如 0 到 15 , 20 到 28,諸如此類, 如果給定的分值范圍包含在跳躍表的分值范圍之內(nèi), 那么返回 1 ,否則返回 0 。 通過跳躍表的表頭節(jié)點和表尾節(jié)點, 這個檢測可以用 O(1) 復(fù)雜度完成。
zslFirstInRange 給定一個分值范圍, 返回跳躍表中第一個符合這個范圍的節(jié)點。 平均 O(N) 。 N 為跳躍表長度。
zslLastInRange 給定一個分值范圍, 返回跳躍表中最后一個符合這個范圍的節(jié)點。 平均 O(N) 。 N 為跳躍表長度。
zslDeleteRangeByScore 給定一個分值范圍, 刪除跳躍表中所有在這個范圍之內(nèi)的節(jié)點。 O(N) , N 為被刪除節(jié)點數(shù)量。
zslDeleteRangeByRank 給定一個排位范圍, 刪除跳躍表中所有在這個范圍之內(nèi)的節(jié)點。 O(N) , N 為被刪除節(jié)點數(shù)量。

|

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號