亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis基礎教程第6節 List

發布時間:2020-06-30 18:00:39 來源:網絡 閱讀:490 作者:yuanzhitang 欄目:關系型數據庫

list是一個內部采用雙向鏈表(double linked list) 結構,像列表兩端添加元素的時間復雜度為O(1)。主要功能是push、pop、獲取一個范圍的所有值等,操作中key理解為鏈表的名字。

鏈表的最大長度是(2的32次方)。我們可以通過push,pop操作從鏈表的頭部或者尾部添加刪除元素。這使得list既可以用作,也可以用作隊列


list的pop操作均有阻塞版本的,當我們[lr]pop一個list對象時,如果list是空,或者不存在,會立即返回nil。但是阻塞版本的b[lr]pop可以則可以阻塞,當然可以加超時時間,超時后也會返回nil。為什么要阻塞版本的pop呢,主要是為了避免輪詢。


舉個簡單的例子如果我們用list來實現一個工作隊列。執行任務的thread可以調用阻塞版本的pop去獲取任務這樣就可以避免輪詢去檢查是否有任務存在。當任務來時候工作線程可以立即返回,也可以避免輪詢帶來的延遲。


LPUSH Key value 左邊插入

RPUSH Key value 右邊插入

LPop key 左邊彈出

RPop key 右邊彈出

BLPOP,BRPOP阻塞式左/右彈出


lpush

129.223.248.154:6379> lpush members ben
(integer) 1
129.223.248.154:6379> lpush members jeff
(integer) 2
129.223.248.154:6379> lpush members mike jeme
(integer) 6


lpop

129.223.248.154:6379> lpop members
"raymond"
129.223.248.154:6379> rpop members
"ben"


llen

129.223.248.154:6379> llen members
(integer) 4


lrange  (lrange firstqueue 0 -1 列出list中全部元素值)

129.223.248.154:6379> lrange members 0 2
1) "richard"
2) "jemery"
3) "mike"
129.223.248.154:6379> llen members
(integer) 4
129.223.248.154:6379> lrange members 0 3
1) "richard"
2) "jemery"
3) "mike"
4) "jeff"
129.223.248.154:6379> lrange members 0 4
1) "richard"
2) "jemery"
3) "mike"
4) "jeff"
129.223.248.154:6379> lrange members 0 -1
1) "richard"
2) "jemery"
3) "mike"
4) "jeff"
5) "derek"


rpop

129.223.248.154:6379> rpop members
"derek"
129.223.248.154:6379> lpop members
"richard"
129.223.248.154:6379> lrange members 0 -1
1) "jemery"
2) "mike"
3) "jeff"


lindex

129.223.248.154:6379> lindex members 1
"mike"
129.223.248.154:6379> llen members
(integer) 3
129.223.248.154:6379> rpush firstqueue 3 2 1
(integer) 3
129.223.248.154:6379> lrange firstqueue 0 -1
1) "3"
2) "2"
3) "1"
129.223.248.154:6379> lpush secqueue 3 2
(integer) 2
129.223.248.154:6379> lrange secqueue 0 -1
1) "2"
2) "3"


rpoplpush  從第一個list的尾部移除元素并添加到第二個list的頭部,最后返回被移除的元素值,整個操作是原子的.如果第一個list是空或者不存在返回nil

129.223.248.154:6379> rpoplpush firstqueue secqueue
"1"
129.223.248.154:6379> lrange firstqueue 0 -1
1) "3"
2) "2"
129.223.248.154:6379> lrange secqueue 0 -1
1) "1"
2) "2"
3) "3"
129.223.248.154:6379>


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郴州市| 天全县| 辽阳县| 马关县| 许昌县| 塔城市| 金门县| 龙山县| 贵定县| 新乡县| 隆回县| 江城| 鞍山市| 富裕县| 顺平县| 连山| 永川市| 贵溪市| 乌什县| 寿光市| 绍兴市| 孝昌县| 万全县| 伊宁市| 大丰市| 中山市| 岱山县| 成都市| 深水埗区| 闽清县| 怀远县| 广元市| 望江县| 夹江县| 兰西县| 金塔县| 香格里拉县| 贵定县| 大同县| 鄂伦春自治旗| 宁武县|