设为首页 收藏本站
查看: 656|回复: 0

[经验分享] Redis数据类型之列表List-12873930

[复制链接]

尚未签到

发表于 2018-11-4 07:03:37 | 显示全部楼层 |阅读模式
Redis列表简介

  Redis列表是简单的字符串列表,一个列表最多可以包含 232 - 1 个元素。列表按照插入顺序排序,可以从列表的头部或者尾部添加元素

  上图演示了使用LPUSH向列表中插入元素,并用LRANGE取出列表元素。LPUSH key value : 将元素从列表的头部插入
Redis列表命令

  一、BLPOP key1 [key2] timeout
  作用: 移除并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

  返回值:在列表不为空时,返回两个元素,第一个是被弹出元素所属的key,第二个是被弹出的元素;列表为空时,在等待给定的timeout过后,会返回nil
  二、BRPOP key1 [key2] timeout
  作用:与BLPOP指令相反,移除并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

  返回值:假如在指定时间内没有任何元素被弹出,则返回一个 nil 和等待时长。 反之,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的 key ,第二个元素是被弹出元素的值
  三、BRPOPLPUSH source destination timeout
  作用:从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

  当被弹出元素的列表不为空时,BRPOPLPUSH会将列表的右边的第一个元素弹出,并插入到一个指定的列表中

  当列表为空时,超过指定时间,返回nil和等待时间
  四、LINDEX key index
  作用:通过索引获取列表中的元素。列表索引从0开始,也可以用负数表示,-1表示列表的最后一个元素

  使用LPUSH向列表中插入2个元素,由于是从左边顺序插入,所以最后插入的就是左边第一个元素
  LINDEX myList 0 : 获取myList的第一个元素,即"Hello"
  LINDEX myList -1 : 从右边开始获取第一个元素,即"World"
  LINDEX myList 3 : 超出索引范围,返回nil
  五、LINSERT key BEFORE|AFTER pivot value
  作用:在列表的元素前或者后插入元素。当指定元素不存在列表中,不执行任何操作;当列表不存在时,不执行任何操作;若key不是列表类型,返回错误

  以上演示了向列表myList的元素"Hello"与"World"之间插入一个"PHP"

  当想要在myList列表中不存在的元素"Python"后插入"JAVA",命令执行失败,返回-1

  当列表不存在或为空时,进行LINSERT操作,命令执行失败,返回0
  返回值:命令执行成功,返回插入元素之后的列表的长度;没找互指定元素,返回-1;key不存在或为空列表,返回0
  六、LLEN key
  作用:获取列表的长度。

  返回值:如果key不存在,则会被当成一个空列表,返回0;如果key不是列表类型,返回错误
  七、LPOP key
  作用:移出并获取列表的第一个元素

  返回值:执行成功,返回列表的第一个元素,key不存在时,返回nil
  八、LPUSH key value1......valuen
  作用:将一个或多个值插入到列表头部

  返回值:LPUSH命令执行成功后,返回此时列表的长度;如果key不存在,一个空列表将会被创建并执行LPUSH操作;如果key存在,但不是列表类型,返回错误
  九、LPUSHX key value
  作用:将一个或多个值插入到已存在的列表头部,列表不存在时操作无效

  操作执行成功时,返回此时列表的长度

  当操作一个不存在的列表时,操作无效,返回0
  十、LRANGE key start stop
  作用:获取列表指定范围内的元素

  start:从0开始,0表示左边第一个元素,以此类推
  stop:若为正数,则含义与start相同;若为负数,则表示从右边数起,如-1表示右边起第一个元素,-2表示右边起第二个元素,以此类推
  LRANGE list3 0 -1:表示从左边第一个元素开始取到右边第一个元素,也就是取出整个列表的元素
  LRANGE list3 0 1:从左边第一个元素取到第二个元素
  LRANGE list3 0 0:从第一个元素取到第一个元素,即第一个元素本身
  注意:[start, stop]是闭区间
  十一、LREM key count value
  作用:移出列表元素

  当count=0时;移出key中所有与value相等的值,返回移出元素的数量
  当count>0时;从列表左边开始,移出数量为count的与value相等的值
  当count

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-630395-1-1.html 上篇帖子: Redis命令总结及其基础知识讲述 下篇帖子: Redis数据类型之字符串String-12873930
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表