列表

作者: lookphp | 来源:发表于2019-07-10 23:33 被阅读0次

列表类型是用来存储多个有序的字符串。

列表最多可以存储

个元素。

可以 对列 表 两端 插入( push) 和 弹出( pop), 还可以 获取 指定范围的元素列表、 获取 指定索引下标的元素 等。

列表可以充当栈和队列的角色。


列表两端插入和弹出操作

列表类型的特点

  • 列表中的元素是有序的。
  • 列表中的元素是可以重复的。

命令

列表的四种操作类型
  • 添加操作
  1. 从右边插入元素 rpush key value [value ...]
  2. 从左边插入元素 lpush key value [value ...]
  3. 向某个元素前或者后插入元素 linsert key before|after pivot value
  • 查找
  1. 获取指定范围内的元素列表 lrange key start end
    从左到右获取列表的所有元素 lrange key 0 -1
  2. 获取列表指定索引下标的元素 lindex key index
  3. 获取列表长度 llen key
  • 删除
  1. 从列表左侧弹出 lpop key
  2. 从列表右侧弹出 rpop key
  3. 删除指定元素 lrem key count value
  4. 按照索引范围修剪列表 ltrim key start end
  • 修改
  1. 修改指定索引下标的元素 lset key index newValue
  • 阻塞操作(阻塞式弹出)
    blpop key [key ...] timeout
    brpop key [key ...] timeout

内部编码

  • ziplist(压缩列表)
  • linkedlist(链表)
  • quicklist

使用场景

  • 消息队列
    redis的lpush + brpop 命令组合即可实现阻塞队列。生产者+消费者
  • 文章列表
    每篇文章用哈希结构存储
    向用户文章列表添加文章
    分页获取用户文章列表

列表口诀:

  • lpush+ lpop= Stack( 栈)
  • lpush+ rpop= Queue( 队列)
  • lpush+ ltrim= Capped Collection( 有限集合)
  • lpush+ brpop= Message Queue( 消息队列)

L:left(左)
R:right(右)

相关文章

  • Markdown 系列(三) 列表

    无序列表 由圆点组成的列表 列表1 列表2 列表3 列表1 列表2 列表3 列表1 列表2 列表3 +-*这三种符...

  • markdown常用的语法

    列表 有序列表: 列表项 1 列表项 2 无序列表: 列表项 1 列表项 2 列表项 3 列表项 4 列表项缩进两...

  • markdown常用语法

    标题 列表 无序列表- 列表1 - 列表1.1 -列表1.2- 列表2 有序列表1. 列表1 1. 列表1....

  • html阶段第二节第一天

    高级标签 列表标签 无序列表 列表一 列表二 ...... 有序列表 列表一 列表二 ...... 定义列表dl...

  • markdown测试

    段落 三级标题 四级标题 五级标题 列表 无序列表 列表1 列表2 列表3 列表1 列表2 列表3 有序列表 列表...

  • 学习小组Day1笔记-Herobrine

    Day1-Herobrine 列表 无序列表 无序列表 无序列表 无序列表 有序列表 有序列表 有序列表 有序列表...

  • H5学习从0到1-H5列表(8)

    列表的基本语法 ol:有序列表 ul:无序列表 li:列表项 dl:列表 dt:列表项 dd:列表描述 常用列表 ...

  • 第一篇简书

    MarkDown首次使用 无序列表 列表1 列表2 列表3 有序列表 有序列表1 有序列表2 有序列表3 有序列表...

  • 标题

    列表1 列表2 子列表1 子列表2 子列表3子子列表1子子列表2子子子列表1子子子列表2

  • markdown test

    header2 test> test 列表* 列表2 * 列表2.1 列表列表2列表2.1

网友评论

      本文标题:列表

      本文链接:https://www.haomeiwen.com/subject/vtghkctx.html