日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Redis 中 List(列表)類型的命令及詳解

作者:全職程序猿 更新時間: 2023-07-03 編程語言

1.BLPOP

? ? ? ? Redis BLPOP 命令移出并獲取列表的第一個元素,如果列表沒有元素會阻塞列表知道等待超時或發現可彈出元素為止,它是LPOP的阻塞元素。

當給定多個key參數時按參數key的先后順序依次檢查各個列表,彈出第一個非空列表的非空元素。

語法:

?redis Blpop 命令基本語法如下:

redis 127.0.0.1:6379> BLPOP key [key ...] timeout

2. BRPOP

? ? ? ? BRPOP是阻塞列表的移除原語。從給的列表參數中按順序檢查第一個不空的列表,然后從該列表的尾部移除元素。?BRPOP?是?RPOP?的阻塞版本,因為當沒有元素從給定的列表中移除的時候,BRPOP?阻塞連接。

返回值

數組?:

  • 所有列表為空并且超時時,返回?nil?。
  • 一個兩個成員的數組,第一個元素是被移除元素的key的名字,第二個元素是被移除元素的值。

3. BRPOPLPUSH

????????Redis?BRPOPLPUSH?命令從列表中取出最后一個元素,并插入到另外一個列表的頭部; 如果列表沒有元素會阻塞列表直到等待超時或發現可彈出元素為止。

BRPOPLPUSH?是?RPOPLPUSH的阻塞版本,當給定列表?source?不為空時,?BRPOPLPUSH的表現和?RPOPLPUSH?一樣。

語法:

redis?BRPOPLPUSH?命令基本語法如下:

redis 127.0.0.1:6379> BRPOPLPUSH LIST1 ANOTHER_LIST TIMEOUT 

4.LINDEX

????????LINDEX?返回列表 key 里索引 index 位置存儲的元素。 index 下標是從 0 開始索引的,所以 0 是表示第一個元素, 1 表示第二個元素,并以此類推。 負數索引用于指定從列表尾部開始索引的元素,在這種方法下,-1 表示最后一個元素,-2 表示倒數第二個元素,并以此往前推。

當 key 值不是列表的時候,會返回錯誤。

返回值

多行字符串????????多行字符串多行字符串: 查詢的元素,index?超出索引范圍時返回?nil?。

5.LINSERT

????????Redis?LINSERT?用于把?element?插入到列表?key?中參考值 pivot 的前面或后面。

當?key?不存在時,這個list會被看作是空list,什么都不執行。

當?key?存在,值不是列表類型時,返回錯誤。

返回值

????????整數: 執行操作后的列表長度,列表中pivot參考值不存在的時候返回?-1

6.LLEN

????????Redis?LLEN?用于返回存儲在?key?中的列表長度。 如果?key?不存在,則?key?被解釋為一個空列表,返回?0?。 如果?key?不是列表類型,返回一個錯誤。

語法

????????redis?LLEN?命令基本語法如下:

redis 127.0.0.1:6379> LLEN KEY_NAME 

返回值

????????整數: 列表的長度。

7.LPOP

????????Redis?LPOP?命令用于刪除并返回存儲在?key?中的列表的第一個元素。

返回值

????????多行字符串: 列表的首元素,key?不存在的時候返回?nil?

8.LPUSH

????????redis?LPUSH?用于將一個或多個值插入到列表key?的頭部。

如果 key 不存在,那么在進行 push 操作前會創建一個空列表。

如果 key 對應的值不是 list 類型,那么會返回一個錯誤。

可以使用一個命令把多個元素 push 進入列表,只需在命令末尾加上多個指定的參數。

元素按在參數中出現的順序,從左到右依次插入到 list 的頭部。

所以對于這個命令例子?LPUSH mylist a b c,返回的列表是 c 為第一個元素, b 為第二個元素, a 為第三個元素。

返回值

????????整數: 執行push操作后列表的長度。

9.LPUSHX

????????Redis?LPUSHX?在當 key 存在并且存儲著一個 list 類型值的時候,向值 list 的頭部插入 value。 與 LPUSH 相反,當 key 不存在的時候不會進行任何操作。

返回值

????????整數: 執行push操作后列表list的長度。

10.LREM

????????Redis?LREM?用于從列表 key 中刪除前 count 個值等于?element?的元素。 這個 count 參數通過下面幾種方式影響這個操作:

  • count > 0: 從頭到尾刪除值為 value 的元素。
  • count < 0: 從尾到頭刪除值為 value 的元素。
  • count = 0: 移除所有值為 value 的元素。

比如, LREM list -2 “hello” 會從列表key中刪除最后兩個出現的 “hello”。

需要注意的是,不存在key會被當作空list處理,所以當 key 不存在的時候,這個命令會返回 0。

返回值

????????整數: 刪除元素個數.

11.LSET

????????Redis?LSET?用于設置列表 key 中 index 位置的元素值為?element。 更多關于 index 參數的信息,詳見?LINDEX。

當 index 超出列表索引范圍時會返回錯誤ERR ERR index out of range

返回值

字符串

12.RPOP?

????????Redis RPOP 用于移除并返回列表?key?的最后一個元素。

返回值

多行字符串: 最后一個元素的值,key?不存在時返回?nil?。

13.RPUSH

????????RPUSH?向存存儲在 key 中的列表的尾部插入所有指定的值。如果 key 不存在,那么會創建一個空的列表然后再進行 push 操作。 當 key 保存的不是列表,那么會返回一個錯誤。

可以使用RPUSH命令把多個元素插入隊列,只需要在命令后面指定多個參數。元素是從左到右按序從列表尾部插入。 比如命令?RPUSH mylist a b c?會返回一個列表,其第一個元素是 a ,第二個元素是 b ,第三個元素是 c。

返回值

????????整數: 執行 push 操作后的列表長度。

14.RPUSHX

????????RPUSHX將值 value 插入到列表?key?的表尾, 當且僅當?key?存在并且是一個列表。 和?RPUSH命令相反, 當 key 不存在時,RPUSHX?命令什么也不做。

返回值

????????整數: RPUSHX 命令執行之后列表的長度。

原文鏈接:https://blog.csdn.net/nh2r1114/article/details/129922083

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新