久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Redis中的list命令怎么使用

156次閱讀
沒有評論

共計 3299 個字符,預(yù)計需要花費 9 分鐘才能閱讀完成。

這篇文章主要介紹“Redis 中的 list 命令怎么使用”,在日常操作中,相信很多人在 Redis 中的 list 命令怎么使用問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Redis 中的 list 命令怎么使用”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學(xué)習(xí)吧!

list 的數(shù)據(jù)結(jié)構(gòu)

List 類型是一個雙端鏈表的結(jié)構(gòu),容量是 2 的 32 次方減 1 個元素,即 40 多億個; 其主要功能有 push、pop、獲取元素等; 一般應(yīng)用在棧、隊列、消息隊列等場景。

Redis list 命令實戰(zhàn)[l/r]push- 左 / 右添加元素

語法:[l/r]push key value [value …]

以頭插或尾插方式插入指定 key 隊列中一個或多個元素

127.0.0.1:6379  lpush pushkey 1 2 3
(integer) 3
127.0.0.1:6379  lpush pushkey 4
(integer) 4
127.0.0.1:6379  rpush pushkey 5
(integer) 5
127.0.0.1:6379  lrange pushkey 0 -1
1)  4 
2)  3 
3)  2 
4)  1 
5)  5

lrange- 查詢范圍元素

語法:lrange key start stop

獲取列表指定范圍內(nèi)的元素

127.0.0.1:6379  lpush products 1 2 3
(integer) 3
127.0.0.1:6379  lpush products 4 5 6
(integer) 6
127.0.0.1:6379  lrange products 0 -1
1)  6 
2)  5 
3)  4 
4)  3 
5)  2 
6)  1

linsert- 在某元素前后插入元素

語法:linsert key BEFORE|AFTER pivot value

在列表的元素前或者后插入元素

127.0.0.1:6379  lrange products 0 -1
1)  6 
2)  5 
3)  4 
4)  3 
5)  2 
6)  1 
127.0.0.1:6379  linsert products before 5 a
(integer) 7
127.0.0.1:6379  lrange products 0 -1
1)  6 
2)  a 
3)  5 
4)  4 
5)  3 
6)  2 
7)  1 
127.0.0.1:6379  linsert products after a b
(integer) 8
127.0.0.1:6379  lrange products 0 -1
1)  6 
2)  a 
3)  b 
4)  5 
5)  4 
6)  3 
7)  2 
8)  1

llen- 獲取長度

語法:llen  key

獲取列表長度

127.0.0.1:6379  lrange products 0 -1
1)  6 
2)  a 
3)  b 
4)  5 
5)  4 
6)  3 
7)  2 
8)  1 
127.0.0.1:6379  llen products
(integer) 8

lindex- 根據(jù)下標(biāo)獲取元素

語法:lindex key index

通過索引獲取列表中的元素

127.0.0.1:6379  lrange products 0 -1
1)  6 
2)  a 
3)  b 
4)  5 
5)  4 
6)  3 
7)  2 
8)  1 
127.0.0.1:6379  lindex products 2
 b

lset- 根據(jù)下標(biāo)設(shè)置值

語法:lset key index value

通過索引設(shè)置列表元素的值

127.0.0.1:6379  lrange products 0 -1
1)  6 
2)  a 
3)  b 
4)  5 
5)  4 
6)  3 
7)  2 
8)  1 
127.0.0.1:6379  lset products 2 B
127.0.0.1:6379  lrange products 0 -1
1)  6 
2)  a 
3)  B 
4)  5 
5)  4 
6)  3 
7)  2 
8)  1

ltrim- 截取元素

語法:ltrim key start end

截取隊列指定區(qū)間的元素, 其余元素都刪除

127.0.0.1:6379  lrange products 0 -1
1)  6 
2)  a 
3)  B 
4)  5 
5)  4 
6)  3 
7)  2 
8)  1 
127.0.0.1:6379  ltrim products 0 3
127.0.0.1:6379  lrange products 0 -1
1)  6 
2)  a 
3)  B 
4)  5

lrem- 移除元素

語法:lrem key count value

移除列表元素

127.0.0.1:6379  lpush test a 1 a 2 a 3 a 4 5 6
(integer) 10
127.0.0.1:6379  lrange test 0 -1
 1)  6 
 2)  5 
 3)  4 
 4)  a 
 5)  3 
 6)  a 
 7)  2 
 8)  a 
 9)  1 
10)  a 
127.0.0.1:6379  lrem test 3 a
(integer) 4
127.0.0.1:6379  lrange test 0 -1
1)  6 
2)  5 
3)  4 
4)  3 
5)  2 
6)  1 
7)  a

[l/r]pop- 從左 / 右彈出元素

語法:[l/r]pop key

從隊列的頭或尾彈出節(jié)點元素(返回該元素并從隊列中刪除)

127.0.0.1:6379  lrange test 0 -1
1)  6 
2)  5 
3)  4 
4)  3 
5)  2 
6)  1 
127.0.0.1:6379  lpop test
127.0.0.1:6379  lrange test 0 -1
1)  5 
2)  4 
3)  3 
4)  2 
5)  1 
127.0.0.1:6379  rpop test
127.0.0.1:6379  lrange test 0 -1
1)  5 
2)  4 
3)  3 
4)  2

rpoplpush- 移除右元素添加到另一列表左

語法:rpoplpush source destination

移除列表的最后一個元素 (右),并將該元素添加到另一個列表(左) 并返回

127.0.0.1:6379  lpush src 1 2 3
(integer) 3
127.0.0.1:6379  lrange src 0 -1
1)  3 
2)  2 
3)  1 
127.0.0.1:6379  lpush dst a b c
(integer) 3
127.0.0.1:6379  lrange dst 0 -1
1)  c 
2)  b 
3)  a 
127.0.0.1:6379  rpoplpush src dst
127.0.0.1:6379  lrange src 0 -1
1)  3 
2)  2 
127.0.0.1:6379  lrange dst 0 -1
1)  1 
2)  c 
3)  b 
4)  a

b[l/r]pop- 阻塞彈出左 / 右一個元素

語法:b[l/r]pop key1 [key2 …] timeout

移出并獲取列表的第一個或最后一個元素,如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止。

127.0.0.1:6379  lpush list1 1 2
(integer) 2
127.0.0.1:6379  lpush list2 a b
(integer) 2
127.0.0.1:6379  lrange list1 0 -1
1)  2 
2)  1 
127.0.0.1:6379  lrange list2 0 -1
1)  b 
2)  a 
127.0.0.1:6379  blpop list1 list2 10
1)  list1  # 彈出元素所屬的列表
2)  2  # 彈出元素所屬的值
127.0.0.1:6379  blpop list1 list2 10
1)  list1 
2)  1 
127.0.0.1:6379  blpop list1 list2 10
1)  list2 
2)  b 
127.0.0.1:6379  blpop list1 list2 10
1)  list2 
2)  a 
127.0.0.1:6379  blpop list1 list2 10
(nil)
(10.08s) #  列表為空的時候,就等待超時 10 秒

到此,關(guān)于“Redis 中的 list 命令怎么使用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-17發(fā)表,共計3299字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 西和县| 大丰市| 印江| 平和县| 会宁县| 辉南县| 台安县| 英德市| 洪湖市| 晋城| 杭州市| 绥滨县| 定西市| 阜城县| 梨树县| 荥经县| 芜湖市| 饶河县| 宝丰县| 大理市| 璧山县| 衡山县| 郴州市| 英超| 藁城市| 凌云县| 饶平县| 汾西县| 廉江市| 前郭尔| 盐亭县| 沾益县| 崇文区| 兴和县| 沙坪坝区| 潜山县| 南汇区| 图片| 永善县| 大埔县| 静安区|