• Redis--list列表


    基础概念

    1. 元素必须是字符串类型
    2. 列表头尾增删快,中间增删慢,增删元素是常态
    3. 元素可以重复
    4. 最多可以包含2^32 - 1个元素
    5. 索引和python的列表一样

    常用命令 - 增加数据

    1.LPUSH  key value1 value2

    说明:从列表头部压入元素

    返回:list最新的长度

    例子:

    LPUSH  l1 a b c d e f

    2.ROUSH key value1 value2

    说明:从列表的尾部压入元素

    返回:list最新的长度

    3.RPOPPUSH  src dst

    说明:从列表src尾部弹出一个元素,压入到列表dst的头部

    返回:被弹出的元素

    4.LINSERT key after|before value newvalue

    说明:在列表指定元素前或者后插入元素,不建议过多使用

    返回:

            1.如果命令执行成功,返回列表的长度

            2.如果没有找到指定的元素,返回-1

            3.如果key不存在,或者列表为空,返回0

    常用命令 - 查看

    1.查看列表中元素

            LRANGE key start stop

            原理就是遍历list

    2.获取列表长度

            LLEN key

    常用命令 - 删除   

    1.从列表头部弹出一个元素

            LPOP key

    2.从列表尾部弹出一个元素

            RPOP key

    3.列表头部,阻塞弹出,列表为空时阻塞

            BLPOP key timeout

    说明:

    1. 如果当前list没有元素或不存在该list,就阻塞在这里
    2. 超时时间设置为0,就是永久阻塞,直到有数据可以弹出
    3. 如果多个客户端阻塞在同一个列表,使用 firist in firist service 原则,先到先服务

    4.列表尾部,阻塞弹出,列表为空时阻塞

            BRPOP  key timeout

    5. LREM key count value

    说明:删除指定元素,从头到尾的遍历list

            count大于0:表示从头部开始向列表尾部搜索,移除与value相等的元素,数量为count

            count小于0:表示从尾部开始向表头搜索,移除与value相等的元素,数量为count

            count等于0:表示移除表中所有与value相等的值

    返回:被移除元素的数量

    6.LTRIM key start stop

    说明:保留指定范围内的元素

    返回: ok

    场景:        

    保存微博评论最后500条数据

    LTRIM weibo:comments 0 499

    常用命令 - 更新

    1.LSET key index newvalue

    说明:设置list指定索引的值

    应用场景

    1.存储微博评论,做切割,只保留最新的xx个

    2. 生产者消费者模型,做中间层,存放生产者的任务

     

  • 相关阅读:
    【图论C++】链式前向星(图(树)的存储)
    3.1数据结构和序列(利用Python进行数据分析)
    Ajax用法
    Task01|GriModel统计分析(下)|方法论与一元数值检验|假设检验1
    TP5 queue队列详解
    【Python自学笔记】python os.getcwd文件目录找不对
    java 两个list的交集
    面试官:Java池化技术你了解多少?
    计算机复习
    JVM--Java类加载器笔记
  • 原文地址:https://blog.csdn.net/m0_74139794/article/details/134451286