导读
创建测试类【demo11.py】
增加与读取
在name对应的list中添加元素,每个新的元素都添加到列表的最左边
import redis
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()
r.lpush("list1", "琢石", "璞玉", "破梦")#向左侧添加
r.rpush("list1","灭神")#向右侧添加
print(r.lrange('list1', 0, -1))#-1代表所有值
获取列表长度
import redis
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()
r.lpush("list1", "琢石", "璞玉", "破梦")#向左侧添加
r.rpush("list1","灭神")#向右侧添加
len=r.llen("list1")
print("list长度是:",len)
print(r.lrange('list1', 0, len-1))#这里是可以越界的
新增(固定索引号位置插入元素)
在name对应的列表的某一个值前或后插入一个新值
参数:
import redis
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()
r.lpush("list1", "琢石", "璞玉", "破梦")#向左侧添加
r.rpush("list1","灭神")#向右侧添加
r.linsert("list1", "after", "璞玉", "诸佛")#在"璞玉"的右侧添加了"诸佛",如果是"befor"则是左侧
print(r.lrange("list1", 0, -1))
修改(指定索引号进行修改)
对name对应的list中的某一个索引位置重新赋值
参数:
import redis
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()
r.lpush("list1", "琢石", "璞玉", "破梦")#向左侧添加
r.rpush("list1","灭神")#向右侧添加
r.lset("list1", 2, "诸佛") # 把索引号是2的元素修改成"诸佛"
print(r.lrange("list1", 0, -1))
删除(指定值进行删除)
在name对应的list中删除指定的值
参数:
import redis
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()
r.lpush("list1","璞玉","琢石", "璞玉", "破梦","璞玉","璞玉","璞玉","璞玉","诸佛","璞玉","璞玉")#向左侧添加
r.rpush("list1","灭神")#向右侧添加
print(r.lrange("list1", 0, -1))
r.lrem("list1",1,"璞玉")#从左边删除1个
print(r.lrange("list1", 0, -1))
r.lrem("list1",2,"璞玉")#从左边删除2个
print(r.lrange("list1", 0, -1))
r.lrem("list1",-2,"璞玉")#从右边删除2个
print(r.lrange("list1", 0, -1))
删除并返回
在name对应的列表的左侧获取第一个元素并在列表中移除,返回值则是第一个元素
更多:
rpop(name) 表示从右向左操作
import redis
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()
r.lpush("list1","璞玉","琢石", "璞玉", "破梦","诸佛","璞玉")#向左侧添加
r.rpush("list1","灭神")#向右侧添加
print(r.lrange("list1", 0, -1))
one=r.lpop("list1")#左删除
print("左1",one)
two=r.lpop("list1")#左删除
print("左2",two)
three=r.rpop("list1")#右删除
print("右1",three)
four=r.rpop("list1")#右删除
print("右2",four)
print(r.lrange("list1", 0, -1))
删除索引之外的值
在name对应的列表中移除没有在start-end索引之间的值
参数:
import redis
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()
r.lpush("list1","璞玉","琢石", "璞玉", "破梦","诸佛","璞玉")#向左侧添加
r.rpush("list1","灭神")#向右侧添加
print(r.lrange("list1", 0, -1))
r.ltrim("list1", 2, 4)#存留下标2-4,也就是234三个值
print(r.lrange("list1", 0, -1))
取值(根据索引号取值)
在name对应的列表中根据索引获取列表元素
import redis
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
r.flushall()
r.lpush("list1","璞玉","琢石", "璞玉", "破梦","诸佛","璞玉")#向左侧添加
r.rpush("list1","灭神")#向右侧添加
print(r.lrange("list1", 0, -1))
print(r.lindex("list1", 2))#下标值是2,也就是"破梦"
希望能对大家有所帮助,谢谢,欢迎一键三连。