列表操作
# conn.lpush("name2",1,2,3,4,5) #添加key和value value从左添加的
# conn.rpush("name3", 1,2,3,4,5) #表示从右向左操作
# conn.lpushx("name2",6) #只有name存在,将value添加到最左边
# conn.rpushx("name2", 0) # 只有name存在,将value添加到最左边
# print(conn.llen("name2")) #查看name中的value的个数2是name2中的value
# conn.linsert("name2", "BEFORE", 2, 'zhu') #在2的前面,添加一个zhu
# conn.linsert("name2", "AFTER", 2, 'xinjing') #在在2的后面,添加一个xinjing
# conn.lset("name2", 0, '唱') #在索引0,重新赋值 没有这个索引就会报错 索引是从左开始
# conn.lrem("name2", 0, 0) # (name,count,value) count为0 删除所有的value,若为负数 -2 从前往后 删除两个value
# print(conn.lpop("name3")) #删除左侧第一个值,然后返回
# print(conn.rpop("name3")) #删除右侧第一个值,然后返回
# print(conn.lindex("name2", '2')) #从name中获取索引为index的值
# conn.lrange("name2", 0, 2) #获取name列表中,0,1,2 前闭后闭
# print(conn.ltrim("name2", 0, 8)) #在name对应的列表中移除没有在start-end索引之间的值 返回true
# conn.rpoplpush("name2", "name3") #从一个列表取出最右边的元素,同时将其添加至另一个列表的最左边
# print(conn.blpop(["name2", 'name3']))
# conn.brpoplpush(src, dst, timeout=0) ## 从一个列表的右侧移除一个元素并将其添加到另一个列表的左侧
# 参数:
# src,取出并要移除元素的列表对应的name
# dst,要插入元素的列表对应的name
# timeout,当src对应的列表中没有数据时,阻塞等待其有数据的超时时间(秒),0 表示永远阻塞
for i in range(1000):
conn.lpush('eggs','egg%s号' %i)
def sclin_soo(name,count=10):
num=0
while True:
res=conn.lrange(name, num, num + count)
num = num + count
if res:
for item in res:
yield item
else:
break
for item in sclin_soo('eggs', 20):
print(item)
其他操作
conn.delete("name2") #删除name2
# print(conn.exists("name3")) ##检查那么是否存在,存在返回1
# print(conn.keys(pattern='na*')) #*获取所有的name,*匹配多个字符 n* 匹配na开头的name
# conn.expire("name2" ,3) #为某个redis的某个name设置超时时间 删除
# conn.rename('name', 'name2') #为name 改名为name2
# conn.move('s', 2 ) #将name 移动到db2
# print(conn.randomkey()) #随机获取一个name
# conn.type("s") #查看name的类型