redis中設定獲取值 列表

2022-10-11 03:54:10 字數 2233 閱讀 9508

列表

乙個列表可以包含乙個或以上數量的 項(item),每個項按照它們被推入到列表的位置來排列。 每個列表項所處的位置決定了這個項的索引值(index),索引以 0 為開始,從列表的左端到右端依次 遞 增,位於列表最左端(表 頭)的項的索引為 0 ,而位於列表最右端(表尾)的 項的索引為 n-1 ,其中 n 為 列表的長度。 列表包含的項可以出現重複,它們不必是唯一的。

1,從列表左端推入值  lpush key "one" "two"  "three"   返回 列表當前項數量

列表值現狀:  "three"   "two"   "one" 

2,從列表右端推入值  rpush key "one" "two"  "three"   返回 列表當前項數量

列表值現狀:  "one" "two"  "three"

3,從列表左端彈出值 lpop key     彈出最左端的值,並返回被彈出的值

4,從列表右端彈出值 rpop key    彈出最右端的值,並返回被彈出的值

5,獲取列表的長度   llen key

6,獲取指定索引位置上的項  lindex key index

rpush key "one" "two"  "three"    

lindex key 1;---返回"two"

lindex key -1;---返回"three"

7,獲取指定索引內的值  lrange key start  stop

"one" "two"  "three"     "four" "five"  "six"   

lrange key 0  2;---返回 "one" "two"  "three" 

8,設定指定索引上的列表項 lset key index value

"one" "two"  "three"     "four" "five"  "six"   

lset key 1 "ten";  ---返回 ok   列表狀態"one" "ten"  "three"     "four" "five"  "six"   

9,在指定位置插入列表項     linsert key before/after pivot value   返回當前列表長度

"one" "two"  "three"     "four" "five"  "six"   

linsert key before "three"  "night";  ---返回 7   列表狀態"one" "two"  "night"  "three"     "four" "five"  "six"   

10,從列表中刪除指定的值 lrem key count value  返回被移除列表項的數量

根據count值,刪除列表內的值  

1)count > 0;索引從0開始,刪除值是value的項,count個

2)count == 0;刪除值是value的所有項

3)count < 0;索引從-1開始,刪除值是value的項,abs(count)個

11,修剪列表  ltrim key start stop   ,只保留索引範圍內的項,其他的刪除。倆個索引都可以是整數或負數   返回 ok

12,阻塞彈出命令

blpop key [key...] timeout   lpop 命令的阻塞版本; 命令會以從左到右的順序,訪問給定的各個列 表,並彈出首個非空列表最左端的項; 如果所有給定列表都為空,那麼客戶端將被阻 塞,直到等待超時,或者有可彈出的項出現為 止; 設定 timeout 引數為 0 表示永遠阻塞。

brpop key [key...] timeout    rpop 命令的阻塞版本: 命令會以從左到右的順序,訪問給定的各個列 表,並彈出首個非空列表最右端的項; 如果所有給定列表都為空,那麼客戶端將被阻 塞,直到等待超時,或者有可彈出的項出現為 止; 設定 timeout 引數為 0 表示永遠阻塞。

blpop/brpop 的先到先服務原則 如果有多個客戶端同時因為某個列表而被阻塞,那麼當有新 值被推入到這個列表時,伺服器會按照先到 先服務(first in first service)原則,優先向最早被阻塞的客戶端返回新值。 舉個例子,假設列表 lst 為空,那麼當客戶端 x 執行命令 blpop lst timeout 時,客戶端 x 將被阻塞。 在此之後,客戶端 y 也執行命令 blpop lst timeout ,也因此被阻塞。 如果這時,客戶端 z 執行命令 rpush lst "hello" ,將值 "hello" 推入列表 lst ,那麼這個 "hello" 將被返回 給客戶端 x ,而不是客戶端 y ,因為客戶端 x 的被阻塞時間要早於客戶端 y 的被阻塞時間。

Postman動態獲取值 動態設定全域性變數

environment 環境是一組變數,它允許您切換請求的上下文。優先使用,可以切換環境 globals 全域性變數是工作空間中始終可用的一組變數。不受切換環境影響 image.png object name image.png originheight 582 originwidth 931 si...

小程式安全設定 彈出框輸入獲取值

小程式安全設定 page 獲取身份認證 idcard function e console.log 獲取身份認證 this.data.idcard 獲取登入密碼 password function e console.log 獲取登入密碼 this.data.password 獲取繫結手機 phon...

set集合獲取值 Redis系列 資料型別set

先給大家提出乙個新的儲存需求 儲存大量的資料,在查詢方面提供更高的效率 來請出我們今天要說的主角set。可能大家會有個疑問,難道list不能滿足嗎?list也可以存大量資料而且還有順序,還能使用索引訪問,但是list 的儲存結構是鍊錶的儲存結構。而鍊錶的儲存效率是很低的,當你存大量資料,但是讀取的效...