为了账号安全,请及时绑定邮箱和手机立即绑定

redis的vaule之list

标签:
PHP

list 类型

list 是一个链表结构,可以理解为一个每个子元素都是 string 类型的双向链表。主要功能是 push、pop、获取一个范围的所有值等。操作中 key 理解为链表的名字。

List 类型数据操作指令简介

lpush key string 在 key 对应 list 的头部添加字符串元素,返回 1 表示成功,0 表示 key 存在且不是 list 类型。

rpush key string 在 key 对应 list 的尾部添加字符串元素。

llen key 返回 key 对应 list 的长度,如果 key 不存在返回 0,如果 key 对应类型不是 list返回错误。

lrange key start end 返回指定区间内的元素,下标从 0 开始,负值表示从后面计算,-1 表示倒数第一个元素 ,key 不存在返回空列表。

ltrim key start end 截取 list 指定区间内元素,成功返回 1,key 不存在返回错误。

lset key index value 设置 list 中指定下标的元素值,成功返回 1,key 或者下标不存在返回错误。

lrem key count value 从 List 的头部(count正数)或尾部(count负数)删除一定数量(count)匹配 value 的元素,返回删除的元素数量。count 为 0 时候删除全部。

lpop key 从 list 的头部删除并返回删除元素。如果 key 对应 list 不存在或者是空返回 nil,如果 key 对应值不是 list 返回错误。

rpop key 从 list 的尾部删除并返回删除元素。

blpop key1 ...... keyN timeout 从左到右扫描,返回对第一个非空 list 进行 lpop 操作并返回,比如 blpop list1 list2 list3 0 ,如果 list 不存在 list2,list3 都是非空则对 list2 做lpop 并返回从 list2 中删除的元素。如果所有的 list 都是空或不存在,则会阻塞 timeout秒,timeout 为 0 表示一直阻塞。当阻塞时,如果有 client 对 key1...keyN 中的任意 key进行 push 操作,则第一在这个 key 上被阻塞的 client 会立即返回。如果超时发生,则返回nil。有点像 unix 的 select 或者 poll。

brpop 同 blpop,一个是从头部删除一个是从尾部删除。



作者:A尚学堂Nancy老师
链接:https://www.jianshu.com/p/75d3cb20faeb


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消