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

溫馨提示×

溫馨提示×

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

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

python3怎么操作redis實現List列表

發布時間:2021-08-03 20:46:12 來源:億速云 閱讀:266 作者:chen 欄目:開發技術

本篇內容主要講解“python3怎么操作redis實現List列表”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python3怎么操作redis實現List列表”吧!

目錄
  • 下面是具體例子詳解和代碼:

    • ①lrange(key , start , stop)

    • ②lpush(key , value)

    • ③rpush(key , value)

    • ④lpop(key)

    • ⑤rpop(key)

    • ⑥blpop(key)

    • ⑦brpop(key)

    • ⑧brpoplpush(source,destination,timeout)

    • ⑨lindex(key,index)

    • ⑩linsert(key,before|after,privot,value)

    • ①①llen(key)

    • ①②lpushx(key)

    • ①③lrem(key , value , count)

    • ①④lset(key , index , value)

    • ①⑤ltrim(key , start , stop)

    • ①⑥rpoplpush(source , destination)

    • ①⑦rpushx(key , value)

沒有安裝redis的話可以看這篇文章

首先先看一下python3 操作redis都有哪些命令

  • lrange(key , start , stop)

  • lpush(key , value)

  • rpush(key , value)

  • lpop(key)

  • rpop(key)

  • blpop(key)

  • brpop(key)

  • brpoplpush(source,destination,timeout)

  • lindex(key,index)

  • linsert(key,before|after,privot,value)

  • llen(key)

  • lpushx(key)

  • lrem(key , value , count)

  • lset(key , index , value)

  • ltrim(key , start , stop)

  • rpoplpush(source , destination)

  • rpushx(key , value)

下面是具體例子詳解和代碼:

①lrange(key , start , stop)

返回列表 key 中指定區間內的元素,區間以偏移量 start 和 stop 指定。
下標(index)參數 start 和 stop 都以 0 為底,也就是說,以 0 表示列表的第一個元素,以 1 表示列表的第二個元素,以此類推。

import redis
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.lpush("0",1,2,3,4) 
print(r.lrange("0" , 0 , -1))

②lpush(key , value)

將一個或多個值 value 插入到列表 key 的表頭
如果有多個 value 值,那么各個 value 值按從左到右的順序依次插入到表頭
如果 key 不存在,一個空列表會被創建并執行 LPUSH 操作
當 key 存在但不是列表類型時,返回一個錯誤

import redis
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.lpush("1",1) 
print(r.lrange("1" , 0 , -1)) #打印列表"1"的全部內容
r.lpush("1",1,2,3,4)
print(r.lrange("1" , 0 , -1))

③rpush(key , value)

將一個或多個值 value 插入到列表 key 的表尾(最右邊)。
如果有多個 value 值,那么各個 value 值按從左到右的順序依次插入到表尾
如果 key 不存在,一個空列表會被創建并執行 RPUSH 操作。
當 key 存在但不是列表類型時,返回一個錯誤。

import redis
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.rpush("2",1) 
print(r.lrange("2" , 0 , -1)) #打印列表"2"的全部內容
r.rpush("2",1,2,3,4)
print(r.lrange("2" , 0 , -1))

④lpop(key)

移除并返回列表 key 的頭元素。

import redis
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.lpush("3",1,2,3,4)
print(r.lrange("3" , 0 , -1)) #打印列表"3"的全部內容
r.lpop("3")
print(r.lrange("3" , 0 , -1))

⑤rpop(key)

移除并返回列表 key 的尾元素。

import redis
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.lpush("4",1,2,3,4)
print(r.lrange("4" , 0 , -1)) #打印列表"4"的全部內容
r.rpop("4")
print(r.lrange("4" , 0 , -1))

⑥blpop(key)

Blpop 命令移出并獲取列表的第一個元素, 如果列表沒有元素會阻塞列表直到等待超時或發現可彈出元素為止。
如果列表為空,返回一個 None 。 否則,返回一個含有兩個元素的列表,第一個元素是被彈出元素所屬的 key ,第二個元素是被彈出元素的值。

import redis 
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.rpush("6",1,2,3,4,4,5,6)
print(r.blpop("6"))
print(r.blpop("6"))
print(r.blpop("6"))
print(r.blpop("100" , timeout=2))#因為鍵 100 不存在,所以2秒后輸出的結果是None
print(r.lrange("6" , 0 , -1)) #打印列表"6"的全部內容

⑦brpop(key)

Brpop 命令移出并獲取列表的最后一個元素, 如果列表沒有元素會阻塞列表直到等待超時或發現可彈出元素為止。
假如在指定時間內沒有任何元素被彈出,則返回一個None 和等待時長。 反之,返回一個含有兩個元素的列表,第一個元素是被彈出元素所屬的 key ,第二個元素是被彈出元素的值。

import redis 
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.rpush("7",1,2,3,4,5,6,)     
print(r.lrange("7" , 0 , -1)) #打印列表"7"的全部內容 
print(r.brpop("7"))     
print(r.brpop("7"))     
print(r.brpop("7"))      
print(r.brpop("101",timeout=2))      #因為鍵 101 不存在,所以2秒后輸出的結果是None
print(r.lrange("7" , 0 , -1)) #打印列表"7"的全部內容

⑧brpoplpush(source,destination,timeout)

命令從列表中彈出一個值,將彈出的元素插入到另外一個列表中并返回它; 如果列表沒有元素會阻塞列表直到等待超時或發現可彈出元素為止。
假如在指定時間內沒有任何元素被彈出,則返回一個 None 和等待時長。 反之,返回一個含有兩個元素的列表,第一個元素是被彈出元素的值,第二個元素是等待時長。

import redis 
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.rpush("8",1,2,3)
r.rpush("88",4,5,6)
print(r.lrange("8" , 0 , -1)) #打印列表"8"的全部內容 
print(r.lrange("88" , 0 , -1)) #打印列表"88"的全部內容 
print(r.brpoplpush(src="8",dst="88",timeout=2))  #輸出的結果是3
print(r.brpoplpush(src="44",dst="22",timeout=2))  #鍵44 不存在,輸出的結果是None
print(r.lrange("8" , 0 , -1)) #打印列表"8"的全部內容 
print(r.lrange("88" , 0 , -1)) #打印列表"88"的全部內容

⑨lindex(key,index)

通過索引獲取列表中的元素。你也可以使用負數下標,以 -1 表示列表的最后一個元素

import redis 
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.rpush("9",1,2,3)
print(r.lrange("9" , 0 , -1)) #打印列表"8"的全部內容 
print(r.lindex("9",0))        #輸出的結果是1
print(r.lindex("9",1))        #輸出的結果是2
print(r.lindex("9",2))        #輸出的結果是3
print(r.lindex("9",3))        #輸出的結果是None
print(r.lindex("9",-1))        #輸出的結果是3
print(r.lrange("9" , 0 , -1)) #打印列表"8"的全部內容

⑩linsert(key,before|after,privot,value)

用于在列表的元素前或者后插入元素。
當指定元素不存在于列表中時,不執行任何操作。 當列表不存在時,被視為空列表,不執行任何操作。

import redis 
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.rpush("10",1,2,3)
print(r.lrange("10" , 0 , -1)) #打印列表"10"的全部內容 
r.linsert("10" , "BEFORE" , "2" , 10)
print(r.lrange("10" , 0 , -1)) #結果 ['1', '10', '2', '3']

r.rpush("100",1,2,3)
r.linsert("100" , "AFTER" , "2" , 10)
print(r.lrange("100" , 0 , -1)) #結果 ['1', '2', '10', '3']

①①llen(key)

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

import redis 
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.rpush("11",1,2,3)
print(r.lrange("11" , 0 , -1)) #打印列表"11"的全部內容 
print(r.llen("11"))  #結果是 3

①②lpushx(key)

將一個或多個值插入到已存在的列表頭部,列表不存在時操作無效。
和lpush的區別是lpushx在列表不存在時操作無效,而lpush會創建一個列表

import redis 
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.rpush("12" , 1,2,3)
r.rpush("122" , 1,2,3)
print(r.lrange("12" , 0 , -1)) #結果為 ['1', '2', '3']
print(r.lrange("122" , 0 , -1)) #結果為 ['1', '2', '3']
r.lpush("123" , 1)
r.lpushx("1223" , 1)
print(r.lrange("123" , 0 , -1)) #結果為 ['1']
print(r.lrange("1223" , 0 , -1)) #結果為 []

①③lrem(key , value , count)

根據參數 COUNT 的值,移除列表中與參數 VALUE 相等的元素。
COUNT 的值可以是以下幾種:
count > 0 : 從表頭開始向表尾搜索,移除與 VALUE 相等的元素,數量為 COUNT 。
count < 0 : 從表尾開始向表頭搜索,移除與 VALUE 相等的元素,數量為 COUNT 的絕對值。
count = 0 : 移除表中所有與 VALUE 相等的值。
返回被移除元素的數量。 列表不存在時返回 0 。

import redis 
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.rpush("13" , 'a','b','b','c','d','b')
print(r.lrange("13" , 0 , -1)) #結果為['a', 'b', 'b', 'c', 'd', 'b']
r.lrem("13" , "b" , 2)
print(r.lrange("13" , 0 , -1)) #結果為['a', 'c', 'd', 'b']

r.rpush("133" , 'a','b','b','c','d','b')
print(r.lrange("133" , 0 , -1)) #結果為['a', 'b', 'b', 'c', 'd', 'b'] 
r.lrem("133" , "b" , -2)
print(r.lrange("133" , 0 , -1)) #結果為['a', 'b', 'c', 'd']

①④lset(key , index , value)

將列表 key 下標為 index 的元素的值設置為 value 。
當 index 參數超出范圍,或對一個空列表( key 不存在)進行 LSET 時,返回一個錯誤。

import redis
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.rpush("14" , 1,2,3,4)
print(r.lrange("14" , 0 , -1)) #打印列表"14"的全部內容
r.lset("14",1,9)
print(r.lrange("14" , 0 , -1)) #結果為 ['1', '9', '3', '4']

①⑤ltrim(key , start , stop)

對一個列表進行修剪(trim),就是說,讓列表只保留指定區間內的元素,不在指定區間之內的元素都將被刪除。
舉個例子,執行命令 LTRIM list 0 2 ,表示只保留列表 list 的前三個元素,其余元素全部刪除。
下標(index)參數 start 和 stop 都以 0 為底,也就是說,以 0 表示列表的第一個元素,以 1 表示列表的第二個元素,以此類推。
你也可以使用負數下標,以 -1 表示列表的最后一個元素, -2 表示列表的倒數第二個元素,以此類推。
當 key 不是列表類型時,返回一個錯誤。


①⑥rpoplpush(source , destination)

將列表 source 中的最后一個元素(尾元素)彈出,并返回給客戶端。
將 source 彈出的元素插入到列表 destination ,作為 destination 列表的的頭元素。

import redis 
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
r.rpush("16",1,2,3)
r.rpush("166",4,5,6)
print(r.lrange("16" , 0 , -1)) # ['1', '2', '3'] 
print(r.lrange("166" , 0 , -1)) # ['4', '5', '6'] 
print(r.rpoplpush(src="16",dst="166"))  #輸出的結果是3
print(r.lrange("16" , 0 , -1)) # ['1', '2'] 
print(r.lrange("166" , 0 , -1)) # ['3', '4', '5', '6']

①⑦rpushx(key , value)

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

import redis 
r = redis.Redis(host='localhost' , port='6379' , db=6 ,decode_responses=True)
# for i in range(10):
#     r.lpop("17")
#     r.lpop("177")
#     r.lpop("1777")
r.rpush("17" , 1,2,3)
r.rpush("177" , 1,2,3)
print(r.lrange("17" , 0 , -1)) #結果為 ['1', '2', '3']
print(r.lrange("177" , 0 , -1)) #結果為 ['1', '2', '3']
r.rpush("177" , 4)
r.rpushx("1777" , 4)
print(r.lrange("177" , 0 , -1)) #結果為 ['1', '2', '3', '4']
print(r.lrange("1777" , 0 , -1)) #結果為 []

完整代碼的地址
https://github.com/dangsh/pythonPra/blob/master/redisGit/redisTest.py

到此,相信大家對“python3怎么操作redis實現List列表”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

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

AI

洪洞县| 嘉禾县| 望谟县| 盐亭县| 静乐县| 密云县| 博客| 晴隆县| 清新县| 阳信县| 乾安县| 仙游县| 遵化市| 洪湖市| 通河县| 安多县| 凌源市| 三亚市| 大洼县| 溧水县| 惠来县| 安西县| 新平| 顺平县| 北宁市| 吉水县| 宿松县| 五莲县| 钟祥市| 太仓市| 霍州市| 凤庆县| 通海县| 桑植县| 清水河县| 平定县| 大港区| 灵山县| 宝山区| 石屏县| 临泉县|