Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

List-操作

常用

  • 从右边插入元素

    rpush key value [value ...]
    
  • 从左边插入元素

    lpush key value [value ...]
    
  • 从右边弹出元素

    rpop key
    
  • 从左边弹出元素

    lpop key
    
  • 阻塞式右边弹出

    brpop key [key ...] timeout
    
    • timeout仅列表为空时生效
      • 若为n,则最多n秒后返回,中途如果有新值也会返回
      • 若为0,则一直阻塞等待,直到有新值才返回
    • 若多个客户端对同一个键并发执行,则最先执行的优先得到新值,其他继续阻塞
  • 阻塞式左边弹出

    blpop key [key ...] timeout
    
  • 删除指定值元素,可指定删除数量和方向

    lrem key count value
    
    • 若count大于0,则 从左到右 删count个
    • 若count小于0,则 从右到左 删abs(count)个
    • 若count等于0,则删除所有
  • 获取列表长度——复杂度O(1)

    llen key
    

指定下标

  • 下标取值

    • 从左到右为 0 到 N-1
    • 从右到左为 -1 到 -N
  • 获取指定下标元素,复杂度为O(index)

    lindex key index
    
    • 指定 1 获取最左边元素但不弹出
    • 指定 -1 获取最右边元素但不弹出
  • 修改指定下标元素,复杂度为O(index)

    lset key index newValue
    
  • 获取指定下标范围内的元素

    lrange key start end
    
    • 【注意】这里end是包含在内的
    • 若全部获取,则指定 0 -1 即可
    • 范围在两端时性能较好,中间效率较差
  • 按照指定下标范围,裁剪列表

    ltrim key start end
    
    • 【注意】这里end是包含在内的