redis 資料型別之列表

2022-04-01 05:17:26 字數 2629 閱讀 9067

1、lpush

lpush(name,values)

#在name對應的list中新增元素,每個新的元素都新增到列表的最左邊#如:

#conn.lpush('oo', 11,22,33)

#儲存順序為: 33,22,11

#擴充套件:

#rpush(name, values) 表示從右向左操作

2、lpushx

lpushx(name,value)

#在name對應的list中新增元素,只有name已經存在時,值新增到列表的最左邊

#更多:

#rpushx(name, value) 表示從右向左操作

3、linsert

linsert(name, where, refvalue, value))

#在name對應的列表的某乙個值前或後插入乙個新值

#引數:

#name,redis的name

#where,before或after

#refvalue,標桿值,即:在它前後插入資料

#value,要插入的資料

4、lpop

lpop(name)

#在name對應的列表的左側獲取第乙個元素並在列表中移除,返回值則是第乙個元素

#更多:

#rpop(name) 表示從右向左操作

5、lrem

conn.lrem(name, value, num)

#在name對應的list中刪除指定的值

#引數:

#name,redis的name

#value,要刪除的值

#num, num=0,刪除列表中所有的指定值;

#num=2,從前到後,刪除2個;

#num=-2,從後向前,刪除2個

6、lset

conn.lset(name, index, value)

#對name對應的list中的某乙個索引位置重新賦值

#引數:

#name,redis的name

#index,list的索引位置

#value,要設定的值

7.blpop

blpop(keys, timeout)

#將多個列表排列,按照從左到右去pop對應列表的元素

#引數:

#keys,redis的name的集合

#timeout,超時時間,當元素所有列表的元素獲取完之後,阻塞等待列表內有資料的時間(秒), 0 表示永遠阻塞

#更多:

#r.brpop(keys, timeout),從右向左獲取資料

8、lrange

lrange(name, start, end)

#在name對應的列表分片獲取資料

#引數:

#name,redis的name

#start,索引的起始位置

#end,索引結束位置

9、lrange容易出現爆棧現象,處理方案:模仿hscan_iter

def list_iter(key,count=100):

index =0

while

true:

data_list = conn.lrange(key, index, index+count-1)

ifnot

data_list:

return

index +=count

for item in

data_list:

yield

item

for item in list_iter('

k1',count=3):

print(item)

10、llen

llen(name)

#name對應的list元素的個數

11、lindex

lindex(name, index)

#在name對應的列表中根據索引獲取列表元素

12、rpoplpush

rpoplpush(src, dst)

#從乙個列表取出最右邊的元素,同時將其新增至另乙個列表的最左邊

#引數:

#src,要取資料的列表的name

#dst,要新增資料的列表的name

13、brpoplpush

brpoplpush(src, dst, timeout)

#從乙個列表的右側移除乙個元素並將其新增到另乙個列表的左側

#引數:

#src,取出並要移除元素的列表對應的name

#dst,要插入元素的列表對應的name

#timeout,當src對應的列表中沒有資料時,阻塞等待其有資料的超時時間(秒),0 表示永遠阻塞

14、ltrim

ltrim(name, start, end)

#在name對應的列表中移除沒有在start-end索引之間的值

#引數:

#name,redis的name

#start,索引的起始位置

#end,索引結束位置

Redis資料型別之列表型別 Redis系列四

可以儲存有序的字串列表,常用的操作是向列表兩端新增元素,或者獲得列表的某乙個片段。列表型別是使用雙向鍊錶實現的,新增元素時間複雜度為o 1 查詢代價高 常用命令 lpush key value value.從左端新增 rpush key value value.從右端新增 彈出後資料將從列表中刪除 ...

redis資料型別之列表型別總結

1.定義 可以儲存乙個有序的字串列表,常用操作為向列表倆端新增元素,獲取列表中的某一段,內部採用雙向鍊錶,所以向列表倆端新增元素的時間複雜度為o1,獲取越接近倆端的資料越快,但是通過索引訪問元素慢,所以我們獲取 不受已有資料的影響 2.特點 最多存放2的32次方 1個元素,元素是有序的,元素可重複 ...

資料型別之列表

一 列表簡介 序列是python中最基本的資料結構。序列中的每個元素都索引,第乙個索引是0,以逗號作為分割符。二 列表的方法 0 建立列表 names a b c d e names a b c d e 2 刪除 pop,remove,del 1 pop names.pop e 如果沒有指定下標,則...