redis基本命令list
1.lpush(name,value)
在name的頭部添加元素,沒有則創(chuàng)建。
import redis,time r = redis.Redis(host='localhost',port=6379,decode_responses=True) r.lpush('list',11,12,13) print(r.lrange('list',0,-1)) # ['13', '12', '11']2.rpush(name,value)
在name的尾部添加元素。
import redis,timer = redis.Redis(host='localhost',port=6379,decode_responses=True) r.rpush('list',11,12,13) print(r.lrange('list',0,-1)) # ['11', '12', '13']3.lpushx(name,value)
向已經(jīng)存在的name頭部添加元素。
import redis,timer = redis.Redis(host='localhost',port=6379,decode_responses=True) r.lpushx('list','q') #只能添加一個元素,不能添加多個 print(r.lrange('list',0,-1)) # ['q', '13', '12', '11']4. rpushx(name,value)
向已經(jīng)存在的name尾部添加元素。
import redis,timer = redis.Redis(host='localhost',port=6379,decode_responses=True) r.rpushx('list','q') #只能添加一個元素,不能添加多個 print(r.lrange('list',0,-1)) # ['q', '13', '12', '11', '11', '12', '13', 'q']5.linsert(name,where,ref,value)
在key對應的list的特定位置之前或者之后添加元素。
參數(shù):
- where:before 或者after
- ref:標桿值(索引),在他的前面或者后面插入。
6.lset(name,index,value)
將特定位置的值修改為value
import redis,timer = redis.Redis(host='localhost',port=6379,decode_responses=True) r.lset('list',3,'test') print(r.lrange('list',0,-1)) # ['q', '13', '12', 'test', '11', '12', '13', 'q']7.lrem(name,index,num)
在name對應的list中刪除指定的值,其中。
- num=0,刪除列表中的所有值。
- num=2,從前到后,刪除2個。
- num=-2,從后到前,刪除2個。
8.lpop(name)和rpop(name)
lpop表示刪除name中頭部的第一個元素并且返回該元素。
rpop表示刪除name中尾部的第一個元素并且返回該元素。
import redis,timer = redis.Redis(host='localhost',port=6379,decode_responses=True) r.lpop('list') r.rpop('list') print(r.lrange('list',0,-1)) # []9.ltrim(name,start,end)
刪除索引沒有在start和end之間的值。
import redis,timer = redis.Redis(host='localhost',port=6379,decode_responses=True) r.lpush('list',11,22,33) r.ltrim('list1',0,4) print(r.lrange('list1',0,-1)) # []10.index(name,index)
根據(jù)下標index獲取元素
import redis,timer = redis.Redis(host='localhost',port=6379,decode_responses=True) r.lpush('list',11,22,33) print(r.lindex('list',2)) # 1111.rpoplpush(src,dst)
移動一個列表的元素到另一個列表,從列表的尾部取出元素,添加到另一個列表的頭部。
參數(shù):
src:待取數(shù)據(jù)的列表
dst:待添加數(shù)據(jù)的列表
import redis,timer = redis.Redis(host='localhost',port=6379,decode_responses=True) r.lpush('list',11,22,33) r.rpoplpush('list','list0') # list0可以原先不存在 print(r.lrange('list0',0,-1)) #['11']12.brpoplpush(src,dst,timeout)
移動一個列表的元素到另一個列表,從列表的尾部取出元素,添加到另一個列表的頭部。
參數(shù):
src:待取數(shù)據(jù)的列表
dst:待添加數(shù)據(jù)的列表
timeout:超時時間,timeout=0時,表示永久阻塞
import redis,timer = redis.Redis(host='localhost',port=6379,decode_responses=True) r.lpush('list',11,22,33) r.rpoplpush('list','list0') # list0可以原先不存在 print(r.lrange('list0',0,-1)) #['11']13.blpop(keys,timeout)
將多個列表排列,按照從左到右去pop對應列表的元素。
參數(shù)中的keys表示多個列表的集合
import redis,timer = redis.Redis(host='localhost',port=6379,decode_responses=True) r.lpush('list',11,22,33) r.lpush('list0',11,22,33)while True:r.blpop(['list0','list'],timeout=2)print(r.lrange('list0',0,-1),r.lrange('list',0,-1))14.自定義增量迭代
?
import redis,timer = redis.Redis(host='localhost',port=6379,decode_responses=True) r.lpush('list',11,22,33)def liter(list_name):count = r.llen(list_name)for index in range(count):yield r.lindex(list_name,index)for item in liter('list'):print(item)轉(zhuǎn)載于:https://www.cnblogs.com/wl443587/p/10274208.html
總結
以上是生活随笔為你收集整理的redis基本命令list的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows server 2008
- 下一篇: 闲来无事,做了个简单的在线编辑的mock