Redis列表 API

作者: 若兮缘 | 来源:发表于2019-02-24 19:34 被阅读67次

列表结构

key仍然是一个字符串,value是一个有序队列,且可以重复,左右两边插入弹出。

可以计算列表的长度-llen,删除列表中指定的某个元素-lrem,获取子列表-lrange,按照索引获取列表值-lindex

列表重要API

增相关

命令演示效果如图

删相关

lpop、rpop、lrem命令演示效果

ltrim命令演示效果
ltrim命令在做一些大的列表删除时是非常有用的,假设数据量是上百万,如果直接执行del key会将redis阻塞掉,我们可以使用ltrim每次裁剪10万分之一数据,最后达到一个删除的效果。

查相关

命令演示效果如图

改相关
命令演示

实战-TimeLine

实际上就是微博的时间轴功能,会将你关注的用户最新的微博按照从新到旧的顺序来排列,这和我们的列表是非常类似的,可以使用类似lpush、rpush、lpop、rpop这样的功能,还可以按照每10页做一个分页。
比如微博列表顺序是按照右图这样的排列规则,就是以关注用户的微博ID作为key,而用户的如微博内容、点赞数等等信息则可以另外存储到一个比如哈希结构里,通过微博ID就可以进行一个关联。
假设你关注的人更新了微博,就可以使用lpush命令去更新list数据,使用lrange命令获取最新的10条微博,然后通过hmget命令去哈希中取出微博的具体内容。

查缺补漏

执行这两个命令会有一个阻塞的过程,如果设置了非0的timeout,那么当列表为空时,命令不会立即返回结果,而是阻塞等待直到超时,或者当有新的值被插入时就会进行获取并返回。在实现类似消息队列功能时会非常有帮助。

小的TIPS

  1. LRUSH + LPOP = Stack(栈)
  2. LPUSH + RPOP = Queue(队列)
  3. LPUSH + LTRIM = Capped Collection(固定数量的列表)
  4. LPUSH + BRPOP = Message Queue(消息队列)

相关文章

  • Redis列表 API

    列表结构 key仍然是一个字符串,value是一个有序队列,且可以重复,左右两边插入弹出。 可以计算列表的长度-l...

  • redis-API-列表

    文档地址 列表类型有两个特点: 第一、列表中的元素是有序的,这就意味着可以通过索引下标获取某个元素或者某个范围内的...

  • Python 操作redis

    redis-py的API文档 一 String 字符串 二 list 列表 三 set 集合

  • 小程序api列表汇总

    1)网络 API 列表: 2)媒体 API 列表: 3)文件 API 列表: 4)数据 API 列表: 5)位置 ...

  • UIAlertController 自定义

    UIAlertController 私有 api 列表及其类型: UIAlertAction 私有 api 列表及...

  • Osi开放服务集成

    概述 应用列表使用Ams应用列表 查看日志列表http://localhost/osi/rest/api/{api...

  • Redis学习之路(4)命令-list(列表)、set(集合)、

    Redis 数据类型 Redis支持5种数据类型: 本段介绍一下list(列表)。 Redis 列表(List) ...

  • python操作redis

    连接redis服务 Redis 字符串(String) Redis 哈希(Hash) Redis 列表(List)...

  • 6. Redis List列表相关命令

    Redis列表是简单的字符串列表,排序插入顺序。您可以在头部或列表的尾部Redis的列表添加元素。 列表的最大长度...

  • Redis入门到高可用-2.Redis API的使用和理解

    1.Redis API的使用和理解 通用命令 字符串类型 哈希类型 列表类型 集合类型 有序集合类型 2.通用命令...

网友评论

    本文标题:Redis列表 API

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