Python中使用Redis的列表类型操作

redis列表添加的数据皆是字符串。

import redis
r = redis.Redis(host='127.0.0.1', port='6379', db=1,decode_responses=True)

lpush将值添加至表头(常用)

'''lpush 将值加入到表的最左边,多个值就逐个添加 '''
r.lpush("ver",1,2,3,4)			 # 将值逐个添加至表头, 如果表不存在则创建,表存在则添加数据
print(r.lrange("ver",0,-1))
#  ['4', '3', '2', '1']

rpush将值添加到表尾(常用)

'''rpush 将值加入到表的最右边,多个值就逐个添加'''
r.rpush("ver", 9) 				 # 将值加入到表的最右边,也就是表尾部逐个添加
print(r.lrange("ver", 0,-1))
# ['4', '3', '2', '1', '9']

lpop删除表头元素(常用)

'''lpop  移除列表表头元素'''
r.lpush("ver",3)  				# 在表头添加一个值
print(r.lrange("ver",0,-1))
r.lpop("ver")     				# 删除表头的值
print(r.lrange("ver", 0,-1))
# ['3', '4', '3', '2', '1', '9']
# ['4', '3', '2', '1', '9']

rpop删除表尾元素=(常用)

'''rpop  移除并返回列表的尾元素'''
r.rpush("ver",11)    		   # 向尾部添加一个元素11
print(r.lrange("ver", 0,-1))   # 输出全部内容
r.rpop("ver")				   # 删除尾部元素
print(r.lrange("ver",0,-1))	   # 输出全部内容
# ['4', '3', '2', '1', '9', '11']
# ['4', '3', '2', '1', '9']

blpop(不常用)

''' blpop  
Blpop 命令移出并获取列表的第一个元素,
如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
如果列表为空,返回一个 None 。 
否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,
第二个元素是被弹出元素的值。'''

r.lpush("6",1,2,3,4,5,6)
print(r.blpop("6"))  			  # (删除6)删除列表第一个值,并返回,表名和值,是一个元组类型
print(r.blpop("6"))				  # 删除5	
print(r.blpop("6"))				  # 删除4
print(r.blpop("100", timeout=2))  # 因为值100不存在,所以2秒后输出结果为None
print(r.lrange("6",0,-1))  		  # 打印表6所有数据

# ('6', '6')
# ('6', '5')
# ('6', '4')
# None
# ['3', '2', '1']

brpop(不常用)

'''
brpop
Brpop 命令移出并获取列表的最后一个元素, 
如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
假如在指定时间内没有任何元素被弹出,则返回一个None 和等待时长。 
反之,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,
第二个元素是被弹出元素的值。
'''
r.rpush("7",1,2,3) 					# 创建7表,想左逐个添加数据1,2,3
print(r.lrange("7",0,-1))			# 打印出7表的全部内容
print(r.brpop("7"))					# 删除3
print(r.brpop("7"))					# 删除2
print(r.brpop("100", timeout=2))    # 删除100,不存在则等待2秒返回None
print(r.lrange("7", 0, -1))			# 打印出7表的全部内容
# ['1', '2', '3']
# ('7', '3')
# ('7', '2')
#  None
# ['1']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值