list operation
The List in redis is stored in memory according to a name corresponding to a List
method:
lpush(name,values)
# 在name对应的list中添加元素,每个新的元素都添加到列表的最左边
rpush()
# 在name对应的list中添加元素,每个新的元素都添加到列表的最左边
lpushx(name,value)
#在name对应的list中添加元素,只有name已经存在时,值添加到列表的最左边
rpushx(name,value)
#在name对应的list中添加元素,只有name已经存在时,值添加到列表的最右边
llen(name)
# name对应的list元素的个数
linsert(name,where,refvalue,value):
#在name对应的列表的某一个值前后插入一个新值
#参数:
# name,redis的name
# where,BEFORE或AFTER
# refvalue,标杆值,即:在它前后插入数据
# value,要插入的数据
r.lset(name,index,value):
#对name对应的list中的某一个索引位置重新赋值。
# 参数:
# name,redis的name
# index,list的索引位置
# value,要设置的值
r.lrem(name,value,num):
#在name对应的list中删除指定的值
# 参数:
# name,redis的name
# value,要删除的值
# num, num=0,删除列表中所有的指定值;
# num=2,从前到后,删除2个;
# num=-2,从后向前,删除2个
lpop(name):
#在name对应的列表的左侧获取第一个元素并在列表中移除,返回值删除那个元素的值
#扩展: rpop(name) 表示从右向左操作
lindex(name,index):
#在name对应的列表中根据索引取列表元素
lrange(name,start,end):
#在name对应的列表分片获取数据
# -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') import datetime import redis redis_info = { 'host': '127.0.0.1', 'port': 6379 } def conncet_redis(): pool = redis.ConnectionPool(**redis_info) try: r = redis.Redis(connection_pool=pool) except Exception as err: raise err return r r = conncet_redis() # list inserts elements left and right r.lpush("info",'lijunjiang') r.lpush ('info', 'li') r.rpush('info','junjiang') print(r.lrange('info',0,-1)) # ['li', 'lijunjiang', 'junjiang'] # Insert an element before/after an element r.linsert('info','BEFORE','li','f_name') print(r.lrange('info',0,-1)) # ['f_name', 'li', 'lijunjiang', 'junjiang'] r.linsert('info', 'AFTER', 'lijunjiang','f_name') print(r.lrange('info',0,-1)) # ['f_name', 'li', 'lijunjiang', 'f_name', 'junjiang'] # 更改某个元素的值 r.lset('info',2,'myname-lijunjiang') print(r.lrange('info',0,-1)) # ['f_name', 'li', 'myname-lijunjiang', 'f_name', 'junjiang'] #查看某个下标的值 print(r.lindex('info',2)) # myname-lijunjiang # 从最左边删除一个元素,并返回一个元素的值 print(r.lpop('info')) # f_name print(r.lrange('info',0,-1)) # ['li', 'myname-lijunjiang', 'f_name', 'junjiang'] # 在列表中增加指定的值 r.lpush('info',1,2,2,3,3,3) r.rpush('info',1,2,2,3,3,3) print(r.lrange('info',0,-1)) # ['3', '3', '3', '2', '2', '1', 'li', 'myname-lijunjiang', 'f_name', 'junjiang', '1', '2', '2', '3', '3', '3'] r.lrem('info',1) print(r.lrange('info',0,-1)) # ['3', '3', '3', '2', '2', 'li', 'myname-lijunjiang', 'f_name', 'junjiang', '2', '2', '3', '3', '3'] r.lrem('info', 3, 2) print(r.lrange('info',0,-1)) # ['3', '2', '2', 'li', 'myname-lijunjiang', 'f_name', 'junjiang', '2', '2', '3', '3', '3'] r.lrem('info', 3, -2) print(r.lrange('info',0,-1)) # ['3', '2', '2', 'li', 'myname-lijunjiang', 'f_name', 'junjiang', '2', '2', '3']