资讯专栏INFORMATION COLUMN

【redis专题(3)】命令语法介绍之list

darryrzhong / 1627人阅读

摘要:通过链表结构可以模仿队列结构与堆栈结构关于队列结构和堆栈结构可以查看标准库专题增作用把值插入到链表头部作用把值插入到链接尾部删作用返回并删除链表尾元素作用返回并删除链表头元素作用从链表中删除值注删除的绝对值个后结束从表头删除从表尾删除从表头

通过链表结构可以模仿队列结构与堆栈结构;关于队列结构和堆栈结构可以查看 【SPL标准库专题(6)】Datastructures:SplStack & SplQueue

lpush key value1 value2 value3...

作用: 把值插入到链表头部

rpush key value1 value2 value3...
127.0.0.1:6379> rpush zimu a b c d e f
(integer) 6

作用: 把值插入到链接尾部

rpop key

作用: 返回并删除链表尾元素

lpop key

作用: 返回并删除链表头元素

lrem key count value

作用: 从key链表中删除 value值
注: 删除count的绝对值个value后结束
Count > 0 从表头删除
Count < 0 从表尾删除

lrem key 2 b 从表头开始找b,找到就给删除,删除2个;
lrem key -2 b 从表尾开始找b,找到就给删除,删除2个;

ltrim key start stop

作用: 剪切key对应的链表,切[start,stop]一段,并把该段重新赋给key

lindex key index

作用: 返回index索引上的值,
如 lindex key 2

llen key

作用:计算链接表的元素个数

linsert key after|before search value

作用: 在key链表中寻找"search",并在search值之前|之后,插入value
注: 一旦找到一个search后,命令就结束了,因此不会插入多个value

127.0.0.1:6379> linsert lb1 before c aa #在链表lb1的元素c前面插入aa
rpoplpush source dest

作用: 从链表source的尾部拿出,放在链表dest的头部,并返回该单元值

场景: 双链表完成安全队列

业务逻辑:
1:Rpoplpush task bak
2:接收返回值,并做业务处理
3:如果成功,rpop bak 清除任务. 如不成功,下次从bak表里取任务

brpop/blpop key timeout

作用:等待弹出key的尾/头元素,
Timeout为等待超时时间
如果timeout为0,则一直等待

场景: 长轮询Ajax,在线聊天时,能够用到

127.0.0.1:6379> brpop lb2 30 #30秒内监听lb2队列,一旦有插入新的队列元素就马上弹出,并返回相应信息;
1) "lb2"
2) "222"
(8.55s)
lrange key start stop

作用: 返回链表中[start ,stop]中的元素
规律: 左数从0开始,右数从-1开始
lrange key 0 -1 查出全部链表结构

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38916.html

相关文章

  • redis专题(3)】命令语法介绍list

    摘要:通过链表结构可以模仿队列结构与堆栈结构关于队列结构和堆栈结构可以查看标准库专题增作用把值插入到链表头部作用把值插入到链接尾部删作用返回并删除链表尾元素作用返回并删除链表头元素作用从链表中删除值注删除的绝对值个后结束从表头删除从表尾删除从表头 通过链表结构可以模仿队列结构与堆栈结构;关于队列结构和堆栈结构可以查看 【SPL标准库专题(6)】Datastructures:SplStack ...

    nevermind 评论0 收藏0
  • redis专题(8)】命令语法介绍通用KEY

    摘要:通配任意多个字符包括没有如和等。通配括号内的某个字符如和,但不匹配。查询的生命周期默认永久有效单位秒数如果为单位就变为毫秒不让失效从当前数据库中随机返回不删除一个。 基础命令 select num 数据库选择 默认有16[0到15]个数据库,默认自动选择0号数据库 move key num 移动key到num服务器 del key [key ...] 删除给定的一个或多个 ke...

    elina 评论0 收藏0
  • redis专题(7)】命令语法介绍Pub/Sub

    摘要:主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和设计模式中的观察者模式比较相似。订阅者可以通过和命令向订阅自己感兴趣的消息类型,将消息类型称为通道。当发布者通过命令向发送特定类型的消息时。将信息发送到指定的频道。 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。主要的目的是解耦消息发布者和消息订阅者之间的耦合,这点和...

    DevTTL 评论0 收藏0
  • redis专题(4)】命令语法介绍sorted_set

    摘要:如果中不存在,就在中添加一个,是就好像它之前的是。如果不存在,就创建一个只含有指定成员的有序集合。 有序集合可以模拟优先级队列与延时队列,排行榜等功能的实现 增 zadd key score1 value1 score2 value2 .. redis 127.0.0.1:6379> zadd stu 18 lily 19 hmm 20 lilei 21 lilei (integer...

    Astrian 评论0 收藏0
  • redis专题(10)】命令语法介绍GEO

    摘要:获取指定元素范围的地理信息位置集合使用命令即可查询附近的位置例如查找距离杭州以内的城市的个城市按距离排序在返回位置元素的同时,将位置元素与中心之间的距离也一并返回。距离的单位和用户给定的范围单位保持一致。 简述 移动互联网时代LBS应用越来越多,交友软件中附近的小姐姐、外卖软件中附近的美食店铺、打车软件附近的车辆等等,那这种附近各种形形色色的XX是如何实现的呢 我么你都知道地球上的地理...

    BicycleWarrior 评论0 收藏0

发表评论

0条评论

darryrzhong

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<