redis中的資料結構之list列表

2021-09-05 12:01:08 字數 908 閱讀 6204

1、list命令介紹。

rpush:將給定值推入列表的右端。

lpush:將給定值推入列表的左端。

lrange:獲取列表在給定範圍上的所有值。

lindex:獲取列表在給定位置上的單個元素。

lpop:從列表的左端移除乙個值,並返回被移除的值。

示例如下:

-------------------向列表右端推入值

127.0.0.1:6379> rpush list-key item

(integer) 1

127.0.0.1:6379> rpush list-key item2

(integer) 2

127.0.0.1:6379> lpush list--key demo

(integer) 1

127.0.0.1:6379> lpush list--key demo1

(integer) 2

127.0.0.1:6379>

-------------------item值從list-key列表中被移除

127.0.0.1:6379> lpop list-key

"item"

127.0.0.1:6379> lindex list-key 0

"item2"

127.0.0.1:6379>

-------------------0為起始位置,-1為範圍結束索引

127.0.0.1:6379> lrange list-key 0 -1

1) "item2"

2) "item3"

3) "item4"

4) "item5"

5) "item6"

127.0.0.1:6379>

Redis redis基本資料結構之List

redis中的list資料結構是鏈表型的,類似於linkedlist。所以它的插入效率非常高,時間複雜度為o 1 它的查詢效率較慢,時o n 但其實redis內部,list結構又不是乙個簡單的鍊錶,因為linkedlist的每乙個節點都要儲存上乙個節點和下乙個節點的指標,相對來說比陣列型的列表更佔空...

redis中的資料結構

string 常用命令 說明get 獲取儲存在給定鍵中的值 set設定儲存在給定鍵中的值,可以是字串 整數或者浮點數 del刪除給定鍵值對,使用與所有資料結構型別 eg bin redis cli 127.0.0.1 6379 set name qi ok127.0.0.1 6379 get nam...

Redis中的資料結構

struct sdshdr 為啥不使用c語言自帶的char?1.常數複雜度獲取字串長度 2.不會緩衝區溢位 3.減少字串修改帶來的記憶體重分配通過未使用的空間字段實現了 惰性空間釋放 刪除字元時,不會立馬收回空間,而是留給下次使用 4.二進位制安全 c字串以空字串為結尾,所以不能儲存音訊等二進位制檔...