redis模块示例2

from redis import StrictRedis,ConnectionPool
import time
pool = ConnectionPool(host='127.0.0.1',port=6379,db=0,password='')
key = StrictRedis(connection_pool=pool)
# 清空redis
key.flushall()
key.lpush('ls1',0,'你好啊')
key.lpushx('ls1',123)
# lset在列表的对应索引插入数据
key.lset('ls1',2,'阿萨德路附近拉开始减肥雷克萨大姐夫')
# 获取name对应的列表元素的个数
print(key.llen('ls1'))
# 在列表ls1第一个值的左边增加一个
key.lpush('ls1','世界')
ls1value = key.lrange('ls1',0,-1)
for i in ls1value:
    print(bytes.decode(i))
# 打印对应的切片
print(key.lrange('ls1',0,2))
# 打印列表左侧第一个元素并移除,返回值时该元素
print(key.lpop('ls1'))
# 根据索引获取元素
print(key.lindex('ls1',1))

##################################
key.lpush('ls2',111)
key.lpush('ls2',222)
key.lpush('ls2',333)
key.lpush('ls2',444)
key.rpush('ls2',555)
print(key.lrange('ls2',0,4))
# 在列表中移除没有在索引之间的值
key.ltrim('ls2',1,3)
print(key.lrange('ls2',0,-1))

# 从一个列表取出最右边的元素,同时将其添加到另一个列表的最左边
key.rpoplpush('ls2','ls2')
print(key.lrange('ls2',0,-1))

# timeout 当对应的列表中没有数据时,阻塞等待它有数据的超时时间(秒),0表示永远阻塞
key.brpoplpush('ls3','ls2',timeout=3)
print('+++++++',key.lrange('ls2',0,-1))
# 从列表头取出第一个元素,返回该元素值并从列表中删除
print(key.blpop('ls2',3),key.lpop('ls2'))
time.sleep(3)
print(key.lrange('ls2',0,-1))
key.flushall()
# index是0
key.lpush('ls2',1111)
key.rpush('ls2',2222)
key.rpush('ls2',3333)
key.rpush('ls2',4444)
key.rpush('ls2',5555)

for i in key.lrange('ls2',0,-1):
    print(i)

posted @ 2022-06-13 12:31  有基友拉我裤链  阅读(15)  评论(0编辑  收藏  举报