基本操作
import redis
#db =6 表示链接到index =6的数据库,decode_responses = True,放入数据库的value是str类型
pool = redis.ConnectionPool(host = 'localhost',port = 6379, db = 6,password = None,decode_responses = True)
r = redis.StrictRedis(connection_pool = pool)
#从左边插入,没有就新建
r.lpush('example',1,2,3)
r.lpush('example1',1,2,3)
r.lpush('example2',1,2,3)
#第二个参数是开始位置,第三个参数是结束位置,因此可以切片操作
print(r.lrange('example',0,-1))
#得到list的长度
print(r.llen('example'))
#从右边插入,切片操作
r.rpush('example',4,5,6)
print(r.lrange('example',0,5))
#从左边插入元素,如果list不存在,则无法创建
r.lpushx('new_example1',10)
print(r.lrange('new_example1',0,-1))
#从右边插入元素,如果list不存在,则无法创建
r.rpushx('new_example1',10)
print(r.lrange('new_example1',0,-1))
#删除最左边的元素并返回
r.lpop('example')
print(r.lpop('example'))
#删除最右边的元素并返回
print(r.rpop('example'))
#删除索引之外的所有数据
r.ltrim('example',0,3)
print(r.lrange('example',0,-1))
#根据索引取值
print(r.lindex('example',2))
#将第一个list的最右边的元素取出来放到第二个list的最左边
r.rpoplpush('example1','example2')
#将第一个list的最左边的元素取出来放到第二个list的最右边
r.brpoplpush('example1','example2')
#移除读个列表的元素,注意参数是列表,可设置超时
r.blpop(['example','example2'],timeout = 10)
在name对应的list中删除指定的值
r.lrem(name, value, num)
参数 | 含义 |
---|---|
name | redis的name |
value | 要删除的值 |
num | num=0,删除列表中所有的指定值 |
num=2从前到后,删除2个 | |
num=1,从前到后,删除左边第1个 | |
num=-2,从后向前,删除2个 |
r.lrem('example','10',1)
print(r.lrange('example',0,-1))
在某个值的前后插入元素
linsert(name, where, refvalue, value))
参数 | 含义 |
---|---|
name | redis的name |
where | BEFORE或AFTER |
refvalue | 标杆值,即:在它前后插入数据 |
value | 要插入的数据 |
r.linsert('example','after','10','mghmgh')
print(r.lrange('example',0,-1))