美文网首页
Redis的列表操作

Redis的列表操作

作者: Chaweys | 来源:发表于2021-08-23 00:03 被阅读0次

    列表
    Redis列表的值得类型为字符串,按照插入顺序排序。
    
    LPUSH命令:
    LPUSH key value value1 value2...
    左边插入,将一个或多个值value插入列表key的头部,
    如果key不存在,一个空列表则会被创建,当key存在但不是列表类型时,返回一个错误。
    
    
    RPUSH命令:
    RPUSH key value value1 value2...
    右边插入,将一个或多个值value插入列表key的尾部
    如果key不存在,一个空列表则会被创建,当key存在但不是列表类型时,返回一个错误。
    
    
    LLEN命令:
    LLEN key
    返回列表key的长度,
    如果key不存在,则key被解释为一个空列表返回0,当key存在但不是列表类型,返回错误。
    
    
    LRANGE命令:
    LRANGE key start end {包头包尾}
    返回列表key中指定范围内的元素,索引从左侧0开始,索引可以为负数,最后一个为-1
    
    
    LPUSHX命令:
    LPUSHX key value value1 value2...
    当列表key存在时,才将value插入到列表key的表头,否则什么也不做。
    当key存在但不是列表类型时,返回一个错误。
    
    
    RPUSHX命令:
    RPUSHX key value value1 value2...
    当列表key存在时,才将value插入到列表key的尾部,否则什么也不做。
    当key存在但不是列表类型时,返回一个错误。
    
    
    LPOP命令:
    LPOP key 
    删除列表key的头部元素并返回该元素,当key不存在时,返回nil
    
    
    RPOP命令:
    RPOP key 
    删除列表key的尾部元素并返回该元素,当key不存在时,返回nil
    
    
    BLPOP命令:
    BLPOP key timeout 
    当给定列表头部内没有任何元素可供删除的时候,连接将被BLPOP命令阻塞,直到等待超时
    或发现可被删除元素为止,timeout设置为0则表示不超时
    
    
    BRPOP命令:
    BRPOP key timeout 
    当给定列表尾部内没有任何元素可供删除的时候,连接将被BLPOP命令阻塞,直到等待超时
    或发现可被删除元素为止,timeout设置为0则表示不超时
    
    
    RPOPLPUSH命令:
    RPOPLPUSH list1 list2 
    将source列表中的尾部元素移除,并将该元素插入至目标列表的头部
    
    
    BRPOPLPUSH命令:
    BRPOPLPUSH list1 list2 timeout
    将source列表中的尾部元素移除,并将该元素插入至目标列表的头部,并伴有超时时间
    
    
    举例:
    LPUSH hello 1 2 3 4 5
    结果:(integer) 5
    
    llen hello
    结果:(integer) 5
    
    lpushx hello 999
    结果:(integer) 6
    
    lrange hello 0 -1
    结果:
    1) "999"
    2) "5"
    3) "4"
    4) "3"
    5) "2"
    6) "1"
    
    lpop hello
    结果:"999"
    
    rpop hello
    结果:"1"
    
    lrange hello 0 -1
    结果:
    1) "5"
    2) "4"
    3) "3"
    4) "2"
    
    blpop list1 3
    结果:
    1) "list1"
    2) "11"
    返回列表名,和删除列表的头部元
    
    blpop list1 3
    结果:
    (nil)
    (3.09s)
    因为列表为空数据,阻塞了3秒就结束
    
    
    lpush list1 111 222 333 444
    (integer) 4
    lrange list1 0 -1
    1) "444"
    2) "333"
    3) "222"
    4) "111"
    
    rpoplpush list1 list2
    结果:"111"
    lrange list2 0 -1
    结果:1) "111"
    

    相关文章

      网友评论

          本文标题:Redis的列表操作

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