redis學習 五大資料型別 List

2022-10-10 14:00:14 字數 3084 閱讀 4921

新增

127.0.0.1:6379> lpush list one    #將一或多值,加到list頭部(左邊)

(integer) 1

127.0.0.1:6379> lpush list two

(integer) 2

127.0.0.1:6379> lpush list three

(integer) 3

127.0.0.1:6379> lrange list 0 -1

1) "three"

2) "two"

3) "one"

127.0.0.1:6379> lrange list 0 1

1) "three"

2) "two"

127.0.0.1:6379> rpush list right #將一或多值,加到list尾部(右邊)

(integer) 4

127.0.0.1:6379> lrange list 0 -1

1) "three"

2) "two"

3) "one"

4) "right"

移除

127.0.0.1:6379> lpop list  #移除list的第乙個元素

"three"

127.0.0.1:6379> rpop list #移除list的最後乙個元素

"right"

127.0.0.1:6379> lrem list 1 one #移除指定個數的值

(integer) 1

獲取值

127.0.0.1:6379> lindex list 0  #通過下標獲取值

"two"

長度

127.0.0.1:6379> lpush list one

(integer) 1

127.0.0.1:6379> lpush list two

(integer) 2

127.0.0.1:6379> lpush list three

(integer) 3

127.0.0.1:6379> llen list #返回長度

(integer) 3

修剪,截斷list

127.0.0.1:6379> lrange list 0 -1

1) "four"

2) "three"

3) "two"

4) "one"

127.0.0.1:6379> ltrim list 1 2

ok127.0.0.1:6379> lrange list 0 -1 #通過下標擷取指定字串,list只剩擷取元素

1) "three"

2) "two"

rpoplpush : 移除最後乙個元素,移到新列表中

127.0.0.1:6379> lpush list one

(integer) 1

127.0.0.1:6379> lpush list two

(integer) 2

127.0.0.1:6379> lpush list three

(integer) 3

127.0.0.1:6379> lpush list four

(integer) 4

127.0.0.1:6379> lrange list 0 -1

1) "four"

2) "three"

3) "two"

4) "one"

127.0.0.1:6379> rpoplpush list otherlist

"one"

127.0.0.1:6379> lrange list 0 -1

1) "four"

2) "three"

3) "two"

127.0.0.1:6379> lrange otherlist 0 -1

1) "one"

lset : 將列表指定下標的值替換為另乙個值,更新

127.0.0.1:6379> lrange list 0 -1

1) "four"

2) "three"

3) "two"

4) "one"

127.0.0.1:6379> lset list 0 444

ok127.0.0.1:6379> lrange list 0 -1

1) "444"

2) "three"

3) "two"

4) "one"

linsert : 將具體值插入到list某個具體值的前面或後面

127.0.0.1:6379> lrange list 0 -1

1) "444"

2) "three"

3) "two"

4) "one"

127.0.0.1:6379> linsert list before two 2222

(integer) 5

127.0.0.1:6379> lrange list 0 -1

1) "444"

2) "three"

3) "2222"

4) "two"

5) "one"

127.0.0.1:6379> linsert list after two 1111

(integer) 6

127.0.0.1:6379> lrange list 0 -1

1) "444"

2) "three"

3) "2222"

4) "two"

5) "1111"

6) "one"

小結:

實際是乙個鍊錶,before node after

如果key不存在,建立新的鍊錶

如果key存在,新增內容

如果移除所有值,鍊錶不存在

在兩邊插入或改變值,效率最高,中間元素,效率低一點

佇列(lpush rpop),棧(lpush lpop)

Redis06 Redis五大資料型別 list

單鍵多值 redis列表是簡單的字串列表,按照插入順序排序,可以新增左邊 右邊 底層實際上是乙個雙向鍊錶,對兩端的操作效能好,但是通過索引下標的操作中間節點效能較差 從左邊 右邊插入乙個或多個值 lpop rpop 從左邊 右邊吐出乙個值 值在鍵在,值無鍵亡 rpoplpush 從列表右邊吐出乙個值...

redis五大資料型別

redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 127.0 0.1 6379 set name yzl ok127.0 0.1 6379 get name yzl 127.0 0.1 6379 hmset my...

redis五大資料型別

string是redis最基本的型別 string型別是二進位制安全的,可以包含任何資料,或者序列化的物件 string型別是redis最基本的資料型別,乙個redis中字串value最多可以是512mhash是乙個鍵值對集合 hash是乙個string型別的field和value的對映表,hash...