zoukankan      html  css  js  c++  java
  • Redis:List列表相关指令

    前言:

      redis里支持list类型,当然list这个结构可以通过逻辑处理变成一些其他的结构

      如果在list类型的基础上去给他写一个里面元素先进先出的话,那么他就变成里一个栈结构

     

     

      如果给它写一个先进先出的逻辑,那么他的结构就是队列

      如果list这个容器两面都可以进出的话,他就是一个阻塞队列

     

      

    所用的list的命令都是用 l 开头的 

    1.设置值

    lpush {key name} {value}  #从左边插入

    rpush {key name} {value} #从右边插入

    lset {key name} {value} #按下标插入,下标处原有的值被替换

    3.通过区间获取值

    lrange {key name} {start} {end}

    获取全部值 0  -1

    4.移除对队列里的元素

    lpop {key name}  #移除list里最左边的元素

    rpop {key name} #移除list里最右边的元素 

    5.通过下标获取list里的某一个值

    lindex {key name} {index}

    6.查询列表的长度

    Llen {key name}

    7.移除list中指定的值

    lrem {key name} {count} {value}

    8.截取数据库值

    ltrim {key name} {index start} {index stop}

     

     

    9.移除当前列表的最后的一个元素,并将该元素放到新列表当中

    rpoplpush {当前列表} {新列表}

     

    小结:

      更多全面的相关指令可以参考redis的中文官网

      list实际上是一个双向链表,brfore Node afterl~leftr~right都是可以插入值的

      如果key不存在,则创建新的节点

      如果key存在,则更新(覆盖原有的)值

      在两边插入和更新值效率是最高的,中间操作相对来说效率回低一点

     

     

     

     

  • 相关阅读:
    关于IQKeyboardManager的使用
    iOS 关于退出键盘两种方法和避免遮挡
    iOS获取各种数据方法整理以及IDFA与IDFV使用环境
    npm安装模块 -g和--save和--save-dev的区别
    最详细的原生js实现ajax的封装
    js中Math对象常用的属性和方法
    js中的兼容问题汇总
    js中数组方法及分类
    浅析js中的this
    js中的兼容
  • 原文地址:https://www.cnblogs.com/CL-King/p/14578704.html
Copyright © 2011-2022 走看看