Redis之list操作

1 lpush(name, values)

# resp:上面是左,下面是右
conn.lpush('girls', '刘亦菲') # 从左侧插入值
conn.lpush('girls', '迪丽热巴') # 从左侧插入值

 

 

2 rpush(name, values) 表示从右向左操作

conn.rpush('girls','xxx')

 

 

3 lpushx(name, value)

conn.lpushx('girls','xxx') #girls key 要存在,如果不存在,就放不进去
conn.lpushx('boys','xxx') #girls 要存在,如果不存在,就放不进去

 

4 rpushx(name, value) 表示从右向左操作

conn.rpushx('girls','xxx')

 

 

5 llen(name)

print(conn.llen('girls'))

 

 

6 linsert(name, where, refvalue, value))

# 在 xxx 后面插入 yyy
conn.linsert('girls',where='after',refvalue='xxx',value='yyy')
conn.linsert('girls', where='before', refvalue='xxx', value='yyy')

 

 

7 lset(name, index, value)

conn.lset('girls',1,'xxx') # 从0 开始计算
conn.lset('girls',3,'xxx') # 从0 开始计算

 

 

8 r.lrem(name, num, value)

conn.lrem('girls',1 ,'xxx') # 从左往右删1个
conn.lrem('girls',-1 ,'xxx') # 从右往左删1个
conn.lrem('girls',0 ,'xxx') # 所有都删除

 

 

9 lpop(name)

print(conn.lpop('girls'))

 

 

10 rpop(name) 表示从右向左操作

print(str(conn.rpop('girls'),encoding='utf-8'))

 

 

11 lindex(name, index)

res=conn.lindex('girls',1) # 按索引取值,从0开始
print(str(res,encoding='utf-8'))

 

 

12 lrange(name, start, end)

res=conn.lrange('girls',0,1) # 前闭后闭区间
print(res)

 

 

13 ltrim(name, start, end)

conn.ltrim('girls',1,3) # 前闭后闭

 

 

14 rpoplpush(src, dst) #两个列表 ,从第一个列表的右侧弹出,放到第二个列表的左侧

 

 

15 blpop(keys, timeout) 阻塞式弹出--》可以做消息队列---》分布式

res=conn.blpop('boys',timeout=5)
print(res)

 


16 r.brpop(keys, timeout),从右向左获取数据

 

 

17 brpoplpush(src, dst, timeout=0)

 

汇总:

'''
1 lpush(name, values)
2 rpush(name, values) 表示从右向左操作
3 lpushx(name, value)
4 rpushx(name, value) 表示从右向左操作
5 llen(name)
6 linsert(name, where, refvalue, value))
7 r.lset(name, index, value)
8 r.lrem(name, value, num)
9 lpop(name)
10 rpop(name) 表示从右向左操作
11 lindex(name, index)
12 lrange(name, start, end)
13 ltrim(name, start, end)
14 rpoplpush(src, dst)
15 blpop(keys, timeout)
16 r.brpop(keys, timeout),从右向左获取数据
17 brpoplpush(src, dst, timeout=0)
'''

 

posted @ 2024-01-28 21:17  wellplayed  阅读(6)  评论(0编辑  收藏  举报