zoukankan      html  css  js  c++  java
  • Redis系统学习之五大基本数据类型(List(列表))

    List(列表)

     
    • 这个就比较有意思了
      • 如果从左边添加,右边获取,就可以实现队列的功能
      • 如果从左边添加,左边获取,就可以实现栈的功能
      • 如果是可以两面添加,两边获取就可以实现阻塞队列的功能

    左边添加值

    • lpush key value
      • image

    获取值(范围)

    • lrange key startindex endindex
      • 因为是一直从左边添加的,符合压栈的规则先进去的后出来,所以顶部的是3,获取前两个就是3,2
      • image
     

    右边添加值

    • rpush key value
      • 可以看到 0 被放到了1的下面
      • image
    • 没有rrange,只有从左侧开始 startindex endindex 获取范围

    移除并返回左边第一个元素

    • lpop key
      • 移除左边第一个元素
      • image

    移除并返回右边第一个元素

    • rpop key
      • 移除右面第一个元素
      • image

    根据下标获取元素

    • lindex key index
      • 根据索引获取指定元素,下标从0开始,-1代表获取最后一个值
      • image

    获取元素的长度

    • llen key
      • 获取元素的个数
      • image

    移除指定的元素

    • lrem key 数量 值
      • 移除一个1
      • image
      • 因为是list所以允许有重复元素
      • 移除两个3
      • image
      • 弹幕:数量大于0,是从前面开始移除,=0是全部移除,<0是从后面移除

    截取元素

    • ltrim key startindex endindex
      • 截取前两个
      • image
     

    从源list右边移除一个元素添加到指定list的左边

    • rpoplpush sourcelist distlist
      • image
     

    指定元素值替换(前提是list必须存在,索引元素也必须存在,不存在就会报错)

    • lset key index value
      • 将5替换成0
      • image

    指定元素之前或之后插入元素

    • linsert key before|after 指定元素值 插入值
      • 在3的后面插入3.5,如果list中存在重复的指定元素,以最前面的为准
      • image

    删除list

    • del key

    使用场景:

    • 队列,栈(消息队列,消息排队)

    作者:彼岸舞

    时间:202155

    内容关于:Redis

    本文属于作者原创,未经允许,禁止转发

  • 相关阅读:
    C# 生成随机数
    C#经典机试题(猫叫)
    C#开发微信公众平台-就这么简单(附Demo)(转)
    对于初学者文档应该怎么编写呢?使用什么模板或格式?
    c#基础系列(转)
    如何写软件设计文档(转)
    C# 使用线程池,设置每个线程的执行时间,过了时间强制结束
    C#多线程编程总结
    最全的sublime插件整理
    Node.js安装及环境配置之Windows篇
  • 原文地址:https://www.cnblogs.com/flower-dance/p/14731095.html
Copyright © 2011-2022 走看看