Redis系列命令更新--Redis列表命令

Redis列表

1、Redis Blpop命令:

(1)說明:Redis Blpop命令移出并獲取列表的第一個元素;如果列表沒有元素會阻塞列表直到等到超時或發現可彈出元素為止

(2)語法:redis 127.0.0.1:6379> BLPOP LIST1 LIST2 .. LISTN TIMEOUT;如果列表為空,返回一個nil;否則返回一個含有兩個元素的列表,第一個元素是被彈出元素所屬的key,第二個元素是被彈出元素的值

(3)實例:以下實例中,操作會被阻塞,如果指定的列表key list1存在數據則會返回第一個元素,否則在等待100s后會返回nil。如下圖:

?

dbd2fbe4a6528dcdcbbdb8f890923df0.png

?

?

2、Redis Brpop命令

(1)說明:Redis Brpop命令移出并獲取列表最后一個元素,如果列表沒有元素會阻塞列表直到等待超時或發現可彈出元素為止

(2)語法:redis 127.0.0.1:6379> BRPOP LIST1 LIST2 .. LISTN TIMEOUT ;假如在指定時間內沒有任何元素被彈出,則返回一個nil和等待時長;反之,返回一個含有兩個元素的列表,第一個元素是被彈出元素所屬的key,第二個元素是被彈出元素的值

(3)實例:以下實例中,操作會被阻塞,如果指定的列表?key list1 存在數據則會返回第一個元素,否則在等待100s后會返回nil,如下圖:

?

b6a9b8b106f7ddd4d5be98b8a690836c.png

?

?

3、Redis Brpoplpush命令

(1)說明:Redis Brpoplpush命令從列表中彈出一個值,將彈出的元素插入到另一個列表中并返回它;如果列表沒有元素會阻塞列表直到等待超時或發現可彈出元素為止

(2)語法:redis 127.0.0.1:6379> BRPOPLPUSH LIST1 ANOTHER_LIST TIMEOUT ;假如在指定時間內沒有任何元素被彈出,則返回一個nil和等待時長;反之,返回一個含有兩個元素的列表,第一個元素是被彈出元素的值,第二個元素是等待時長

(3)實例:沒有值的情況:

?

a8a9b54181590075fe8086301e03cb7b.png

?

有值的情況:

# 非空列表

redis> BRPOPLPUSH msg reciver 500"hello moto" ?# 彈出元素的值

(3.38s) ?# 等待時長

redis> LLEN reciver(integer) 1

redis> LRANGE reciver 0 01) "hello moto"

?

4c83f9223e4099ca6dc8d8dad46f0daf.png

?

?

?

4、Redis Lindex 命令

(1)說明:Redis Lindex 命令用于通過索引獲取列表中的元素;你也可以使用負數下標,以-1表示列表的最后一個元素,-2表示列表倒數第二個元素,以此類推。

(2)語法:redis 127.0.0.1:6379> LINDEX KEY_NAME INDEX_POSITION ;列表中下標為指定索引值的元素;如果指定索引值不在列表的區間范圍內,返回nil

(3)實例:

?

f54039c8561eb5202a47c8c73b8e4fda.png

?

?

?

5、Redis Linsert命令

(1)說明:Redis Linsert命令用于在列表的元素前或者后插入元素,當指定元素不存在于列表時,不執行任何操作;當列表不存在時,被視為空列表,不執行任何操作;如果key不是列表類型,返回一個錯誤。

(2)語法:redis 127.0.0.1:6379> LINSERT KEY_NAME BEFORE EXISTING_VALUE NEW_VALUE ;如果命令執行成功,返回插入操作完成之后,列表的長度;如果沒有找到指定元素,返回-1;如果key不存在或空列表,返回0。

(3)實例:

?

?

?

ece1415e12cc1ff4feaa068b1020db86.png

?

6、Redis Llen命令

(1)說明:Redis Llen命令用于返回列表的長度;如果列表不存在,則key被解釋為一個空列表,返回0;如果key不是列表類型,返回一個錯誤

(2)語法:redis 127.0.0.1:6379> LLEN KEY_NAME;返回列表的長度

(3)實例:

?

5b0673c7e947a2c765b7ea4bef837ef9.png

?

?

7、Redis Lpop命令

(1)說明:Redis Lpop命令用于移除并返回列表的第一個元素;

(2)語法:redis 127.0.0.1:6379> Lpop KEY_NAME ;返回列表的第一個元素;當列表key不存在時,返回nil;

(3)實例:

實際返回:

?

76a472d3857a821a31b44d5d40426747.png

?

?

預計返回:

?

f99ecc3508a9bac60d678356dc1a4ad6.png

?

?

8、Redis Lpush命令

(1)說明:Redis Lpush命令將一個或多個值插入到列表頭部;如果key不存在,一個空列表會被創建并執行LPUSH操作;當key存在但不是列表類型時,返回一個錯誤;

注意:在Redis 2.4版本以前的 LPUSH 命令,都只接受單個 value 值。

(2)語法:redis 127.0.0.1:6379> LPUSH KEY_NAME VALUE1.. VALUEN;執行LPUSH命令后,返回列表的長度

(3)實例:

?

2a925c5094e4b11655dad74e1f8205b6.png

?

?

9、Redis Lpushx命令(對比?8 是否有不同區別

(1)說明:Redis Lpushx命令將一個值插入到已存在的列表頭部,列表不存在時,操作無效

(2)語法:redis 127.0.0.1:6379> LPUSHX KEY_NAME VALUE1.. VALUEN;LPUSHX命令執行后,返回列表的長度

(3)實例:

?

5704735d69ef4d09a5db715c363c6072.png

?

10、Redis Lrange命令

(1)說明:Redis Lrange命令返回列表中指定區間內的元素,區間以偏移量START和END指定;其中0表示列表的第一個元素,1表示列表的第二個元素,以此類推;你也可以使用負數下標,以-1表示列表的最后一個元素,-2表示列表的倒數第二個元素,以此類推。

(2)語法:redis 127.0.0.1:6379> LRANGE KEY_NAME START END;返回一個列表,包含指定區間內的元素

(3)實例:

?

97c05c2d6913192ca73199706b190913.png

?

?

11、Redis Lrem命令

(1)說明:Redis Lrem命令根據參數COUNT的值,移除列表中與參數VALUE相等的元素,COUNT的值可以是以下幾種:

count>0:從表頭開始向表尾搜索,移除與VALUE相等的元素,數量為COUNT;

count<0:從表尾開始向表頭搜索,移除與VALUE相等的元素,數量為COUNT的絕對值;

count=0:移除表中所有與VALUE相等的值

(2)語法:redis 127.0.0.1:6379> LREM KEY_NAME COUNT VALUE;被移除元素的數量,列表不存在時返回0

(3)實例:

?

be7fe552b14108c976b6d4874cf846fb.png

?

?

12、Redis Lset命令

(1)說明:Redis Lset命令通過索引來設置元素的值;當索引參數超出范圍,或對一個空列表進行LSET時,返回一個錯誤

(2)語法:redis 127.0.0.1:6379> LSET KEY_NAME INDEX VALUE;操作成功返回ok,否則返回錯誤信息

(3)實例:

?

4c466ed87e7918e5e7bd4c44f645e113.png

?

?

13、Redis Ltrim命令

(1)說明:Redis Ltrim命令對一個列表進行修剪(trim),就是說,讓列表只保留指定區間內的元素,不在指定區間之內的元素都將被刪除;下標0表示列表的第一個元素,以1表示列表的第二個元素,以此類推;你也可以使用負數下標,以-1表示列表的最后一個元素,-2表示列表的倒數第二個元素,以此類推。

(2)語法:redis 127.0.0.1:6379> LTRIM KEY_NAME START STOP;命令執行成功時,返回ok

(3)實例:

?

8bceda660a0ae4bcc17e91ea82c135eb.png

?

?

14、Redis Rpop命令:

(1)說明:Redis Rpop命令用于移除返回列表的最后一個元素

(2)語法:redis 127.0.0.1:6379> RPOP KEY_NAME ;返回移除的最后一個元素;當列表不存在時,返回nil

(3)實例:

?

385c04033925447083d398bd0ca257af.png

?

?

15、Redis Rpoplpush命令

(1)說明:Redis Rpoplpush命令用于移除列表的最后一個元素,并將該元素添加到另一個列表并返回

(2)語法:redis 127.0.0.1:6379> RPOPLPUSH SOURCE_KEY_NAME DESTINATION_KEY_NAME;返回被彈出的元素

(3)實例:

?

?

?

c4bf277cea792d1b667804fd81b15f1d.png

?

16、Redis Rpush命令

(1)說明:Redis Rpush命令用于將一個或多個值插入到列表的尾部(最右邊);如果列表不存在,一個空列表會被創建并執行RPUSH操作;當列表存在但不是列表類型時,返回一個錯誤;

注意:在?Redis 2.4 版本以前的 RPUSH 命令,都只接受單個 value 值。

(2)語法:redis 127.0.0.1:6379> RPUSH KEY_NAME VALUE1..VALUEN;執行RPUSH操作后,列表的長度

(3)實例:

?

d615e005eb5b909ffdff70a14a00a96b.png

?

?

17、Redis Rpushx命令:

(1)說明:Redis Rpushx命令用于將一個值插入到已存在的列表尾部(最右邊);如果列表不存在,操作無效

(2)語法:redis 127.0.0.1:6379> RPUSHX KEY_NAME VALUE1..VALUEN;返回執行Rpush操作后,列表的長度

(3)實例:

?

?

?

c5b7609b7eb01143ef00642a4af58cca.png

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/45842.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/45842.shtml
英文地址,請注明出處:http://en.pswp.cn/web/45842.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mybaits-plus自定義分頁查詢

1. 引入依賴 在 pom.xml 文件中添加必要的依賴&#xff1a; <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId&…

Git進階(十四):Windows下 git 提示 Repository not found

文章目錄 一、前言 一、前言 在Windows10下執行 git clone/pull 的時候出現Repository not found錯誤。解決方法如下&#xff1a; 打開控制面板 搜索“憑據” 選中“Windows憑據” 在“普通憑據”一欄中查看當前git服務器配置的憑據信息是否正確&#xff0c;出現以上問題的…

081、Python 關于方法重寫

所謂方法重寫&#xff0c;就是子類對父類已有的方法&#xff0c;重新編寫自己的實現版本&#xff0c;這個過程就叫做方法重寫&#xff08;override&#xff09;。 說到方法重寫&#xff0c;就不得不提多態。因為方法重寫是實現多態的一種重要方式。 所謂多態&#xff0c;就是…

Windows的包管理器Chocolatey

Chocolatey 是 Windows 平臺上的一個軟件包管理工具&#xff0c;類似于 Linux 上的 apt、yum 或者 macOS 上的 Homebrew。你可以通過命令行快速安裝、更新和卸載軟件包。 一、安裝 Chocolatey 查看是否有安裝 choco --version 2.3.0如果有顯示版本號&#xff0c;說明安裝成功…

Laravel IDE Helper:開發者的代碼導航燈塔

Laravel IDE Helper&#xff1a;開發者的代碼導航燈塔 在Laravel開發過程中&#xff0c;IDE&#xff08;集成開發環境&#xff09;的輔助工具可以極大地提高開發效率和代碼質量。Laravel IDE Helper是一個專門為此目的設計的工具&#xff0c;它為PHP IDE提供了額外的上下文信息…

提高自動化測試腳本編寫效率 5大關鍵注意事項

提高自動化測試腳本編寫效率能加速測試周期&#xff0c;減少人工錯誤&#xff0c;提升軟件質量&#xff0c;促進項目按時交付&#xff0c;增強團隊生產力和項目成功率。而自動化測試腳本編寫效率低下&#xff0c;往往會導致測試周期延長&#xff0c;增加項目成本&#xff0c;延…

Python項目部署到Linux生產環境(uwsgi+python+flask+nginx服務器)

1.安裝python 我這里是3.9.5版本 安裝依賴&#xff1a; yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make -y 根據自己的需要下載對應的python版本&#xff1a; cd local wget https://www.python.org/ftp…

git 提交遠程倉庫 方式

第一種方式&#xff1a; git init //初始化 gitgit clone https://github.com/luckygilrhpp/gitTest.git //克隆遠程倉庫代碼將要提交的文件夾復制到這個clone的遠程倉庫里面 第二種方式&#xff1a; git init git remote add origin https://github.com/lucky…

高性能存儲 SIG 月度動態:優化 xfs dax reflink 時延,獨立選型并維護 mdadm 和 ledmon

本次高性能存儲月度動態綜合了 SIG 在 5、6 兩個月的工作進展&#xff0c;包含多項特性支持&#xff0c;性能優化&#xff0c;以及 Bugfix 等。 01 SIG 整體進展 引入 xfs deferred inode inactivation&#xff0c;進一步優化 xfs dax reflink 過程中的抖動時延。 Intel 將在…

UE5.4新功能 - MotionDesign上手簡介

MotionDesign是UE中集成的運動圖形功能&#xff0c;我們在游戲中經常會見到&#xff0c;例如前方漂浮于空中的若干碎石&#xff0c;當玩家走進時碎石自動吸附合并變成一條路&#xff0c;或者一些裝飾性的物件做隨機運動等等&#xff0c;在引擎沒有集成運動圖形時&#xff0c;這…

網絡爬蟲開發:JavaScript與Python特性的小差異

JavaScript JavaScript具有以下一些主要特點&#xff1a; 動態類型&#xff1a; JavaScript是一種動態類型語言&#xff0c;變量可以存儲任意類型的數據&#xff0c;無需事先聲明變量的類型。事件驅動&#xff1a;JavaScript主要用于處理用戶在瀏覽器中的各種交互事件&#x…

group by 與 distinct去重性能

GROUP BY和DISTINCT在數據庫查詢中都可以用于去重&#xff0c;但它們的性能差異取決于多個因素&#xff0c;包括數據集的大小、數據庫的結構和索引、以及查詢的具體內容。 處理方式&#xff1a; DISTINCT&#xff1a;它會掃描整個數據集&#xff0c;然后刪除重復的記錄&#xf…

機體坐標系和導航坐標系

目錄 機體坐標系&#xff08;Body Frame&#xff09;例子&#xff1a;無人機的機體坐標系 導航坐標系&#xff08;Navigation Frame&#xff09;例子&#xff1a;地球固定的導航坐標系 具體例子說明機體坐標系描述導航坐標系描述 總結 機體坐標系&#xff08;Body Frame&#x…

什么是大數據信用?它的作用有哪些?怎么查詢大數據?

在金融行業中&#xff0c;風險管理是至關重要的一環。傳統的信用評估方法主要基于借款人的財務狀況和信用歷史&#xff0c;但這些信息往往無法全面反映借款人的信用狀況。大數據信用的出現為金融風控提供了新的解決方案。 首先&#xff0c;大數據信用可以為金融機構提供更全面的…

jmeter持續學習之---控制器

IF控制器 下面這種寫法jmeter不推薦有性能的問題 jmeter推薦勾選上的這種寫法 使用"Interpret Condition as Variable Expression"工具的性能要好一些 循環控制器 ForEach控制器 與用戶定義的變量或者正則表達式提取器配合使用,循環讀取。用戶定義的變量或者正則…

Vue 接口用FormData() 提交數據

例子&#xff1a; let data { id: 12, name: 測試, list: [{ id: 22, name: "za", age: 12 }] };// 創建 FormData 實例 要使用 FormData 將數據提交給接口&#xff0c;首先需要了解 FormData 是如何工作的。FormData 是一種用于異步上傳數據的表單數據結構&#xf…

C語言-分支與循環(2)

目錄 1、while循環 1.1 if 和 while 的對比 1.2 while 語句的執行流程 6.3 while循環簡單例題 2、for 循環 2.1 語法形式 2.2 for循環與while循環對比 2.3 for循環的執行流程 2.4 for循環的簡單例題 2.5 擴展&#xff1a;for循環的初始化&#xff0c;判斷&#xff0c;…

django學習入門系列之第四點《圖標》

文章目錄 圖標往期回顧 圖標 圖標網站&#xff1a; Font Awesome&#xff0c;一套絕佳的圖標字體庫和CSS框架 (dashgame.com) bootstrap提供的不多 注意&#xff0c;要用框架啟動&#xff0c;但用html啟動的話是用不了的&#xff08;圖標啟動不了&#xff09; 如何使用 如果…

DAMA學習筆記(六)-數據安全

1.引言 數據安全包括安全策略和過程的規劃、建立與執行&#xff0c;為數據和信息資產提供正確的身份驗證、授權、訪問和審計。數據安全實踐的目標是根據隱私和保密法規、合同協議和業務要求來保護信息資產。這些要求來自以下幾個方面: 1&#xff09;利益相關方: 應識別利益相關…

YOLO--置信度(超詳細解讀)

YOLO&#xff08;You Only Look Once&#xff09;算法中的置信度&#xff08;Confidence&#xff09;是一個關鍵概念&#xff0c;用于評估模型對預測框內存在目標對象的信心程度以及預測框對目標對象位置的準確性。 一、置信度的定義 數值范圍&#xff1a;置信度是一個介于0和…