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) '''