zoukankan      html  css  js  c++  java
  • List命令

    Redis-List命令整合
    命令
    版本
    复杂度
    格式
    返回值
    作用
    备注
    lpush
    1.0.0
    O(1)
    lpush key value [value ...]
    修改之后的列表长度
    批量插入value到key的表头(左)
    2.4之后才支持批量插入
    lpushx
    2.2.0
    O(1)
    lpushx key value
    同上
    当key为list,将value插入表头
    key不存在时,什么都不做
    rpush
    1.0.0
    O(1)
    rpush key value [value ...]
    同上
    批量插入value到key的表尾(右)
    2.4之后才支持批量插入
    rpushx
    2.2.0
    O(1)
    rpushx key value
    同上
    当key为list,将value插入表尾
    key不存在时,什么都不做
    lpop
    1.0.0
    O(1)
    lpop key
    key的头元素
    删除key的头元素
    key不存在时,返回nil
    rpop
    1.0.0
    O(1)
    rpop key
    key的尾元素
    删除key的尾元素
    同上
    rpoplpush
    1.2.0
    O(1)
    rpoplpush source destination
    被删除的元素
    删除source的尾元素,并将其加入destination的表头
    source不存在,返回nil,什么都不做。source可以与destination相同
    lrem
    1.0.0
    O(N)
    lrem key count value
    被删除的元素数量
    根据count,删除值等于value的元素
    count为0,全部删除。大于0,从表头搜索删除count个,小于从表尾开始删除count个
    llen
    1.0.0
    O(1)
    llen key
    key的长度
    获取key的长度
    key不存在,返回0。key类型不正确,返回error
    lindex
    1.0.0
    O(N)
    lindex key index
    key中下标为index的值
    获取key中下标为index的值
    index可以是负数,表示从尾部开始。index超过key的范围,返回nil。类型不正确,返回error
    linsert
    2.2.0
    O(N)
    linsert key before|after pivot value
    修改之后的列表长度
    将value的值插入在key中值pivot的前面或者后面
    没有找到pivot返回-1,key不存在返回0
    lset
    1.0.0
    O(N)
    lset key index value
    成功ok
    修改key中下标为index的值为value
    index超过范围返回key不存在时,返回error
    lrange
    1.0.0
    O(S+N)
    lrange key start stop
    返回value列表
    获取key中下标为start到stop的值的列表
    start与stop可以为负数,超过key的长度部分直接忽略
    ltrim
    1.0.0
    O(N)
    ltrim key start stop
    成功OK
    列表key只保留下标start到stop之间的内容
    同上
    blpop
    2.0.0
    O(1)
    blpop key [key...] timeout
    如果列表为空,返回一个 nil 。 否则,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值。
    它是 LPOP key 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 BLPOP 命令阻塞,直到等待超时或发现可弹出元素为止。
    当给定多个 key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的头元素。
    brpop
    2.0.0
    O(1)
    brpop key [key...] timeout
    同上
    它是 RPOP key 命令的阻塞版本,当给定列表内没有任何元素可供弹出的时候,连接将被 BRPOP 命令阻塞,直到等待超时或发现可弹出元素为止。
    当给定多个 key 参数时,按参数 key 的先后顺序依次检查各个列表,弹出第一个非空列表的尾部元素。
    brpoplpush
    2.2.0
    O(1)
    brpoplpush source destination
    假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时长。 反之,返回一个含有两个元素的列表,第一个元素是被弹出元素的值,第二个元素是等待时长。
    BRPOPLPUSH 是 RPOPLPUSH source destination 的阻塞版本,当给定列表 source 不为空时, BRPOPLPUSH 的表现和 RPOPLPUSH source destination 一样。
    当列表 source 为空时, BRPOPLPUSH 命令将阻塞连接,直到等待超时,或有另一个客户端对 source 执行 LPUSH key value [value …] 或 RPUSH key value [value …] 命令为止。
    超时参数 timeout 接受一个以秒为单位的数字作为值。超时参数设为 0 表示阻塞时间可以无限期延长(block indefinitely) 。
     
    作者:红雨
    出处:https://www.cnblogs.com/52why
    微信公众号: 红雨python
  • 相关阅读:
    519,伪类和伪元素的区别
    518,自定义字体的使用场景
    517,sytlus/sass/less的区别
    516,base64的原理及优缺点
    515,前端性能优化--减少http请求(待补充)
    514 ,css不同选择器的权重(css层叠的规则)
    513,如果需要手写动画,你认为最小时间间隔是多久,为什么?
    512,a标签的target属性
    511,display:inline-block什么时候不会显示间隙?
    510,position的值,relative和absolute定位原点是
  • 原文地址:https://www.cnblogs.com/52why/p/14331681.html
Copyright © 2011-2022 走看看