美文网首页
python操作Redis学习笔记之List的基本操作

python操作Redis学习笔记之List的基本操作

作者: IT_小马哥 | 来源:发表于2019-05-30 15:01 被阅读0次

    基本操作

    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))
    

    相关文章

      网友评论

          本文标题:python操作Redis学习笔记之List的基本操作

          本文链接:https://www.haomeiwen.com/subject/fucvtctx.html