• 理解 Redis(6)


    list 值就是一组根据插入顺序排列的字符串, 从左向右排列, 左边为头(head), 右侧为尾(tail). 左边为顶部, 右边为底部.

    下图为 list 值的示意图:

    从左侧开始向键为 num 的 list 插入数据:

    127.0.0.1:6379> lpush num 1 2 3 4
    (integer) 4
    

    查看 num 里的数据, 因为数据是从左侧开始插入, 并且插入的先后顺序是从1到4, 所以1在最底层, 4在最顶层:

    127.0.0.1:6379> lrange num 0 10
    1) "4"
    2) "3"
    3) "2"
    4) "1"
    

    再从左侧插入一个数据:

    127.0.0.1:6379> lpush num 5
    (integer) 5
    127.0.0.1:6379> lrange num 0 10
    1) "5"
    2) "4"
    3) "3"
    4) "2"
    5) "1"
    

    从左侧弹出一个数据, 因为5在最顶层, 所以最先弹出:

    127.0.0.1:6379> lpop num
    "5"
    127.0.0.1:6379> lrange num 0 10
    1) "4"
    2) "3"
    3) "2"
    4) "1"
    

    从右侧插入数据:

    127.0.0.1:6379> rpush num 5
    (integer) 5
    127.0.0.1:6379> lrange num 0 10
    1) "4"
    2) "3"
    3) "2"
    4) "1"
    5) "5"
    127.0.0.1:6379> rpush num 6
    (integer) 6
    127.0.0.1:6379> lrange num 0 10
    1) "4"
    2) "3"
    3) "2"
    4) "1"
    5) "5"
    6) "6"
    

    从右侧弹出数据:

    127.0.0.1:6379> rpop num
    "6"
    127.0.0.1:6379> lrange num 0 10
    1) "4"
    2) "3"
    3) "2"
    4) "1"
    5) "5"
    

    查看一个 list 的长度:

    127.0.0.1:6379> lrange num 0 10
    1) "4"
    2) "3"
    3) "2"
    4) "1"
    5) "5"
    127.0.0.1:6379> llen num
    (integer) 5
    

    根据索引查看 list 中某个位置的值:

    127.0.0.1:6379> lindex num 3
    "1"
    127.0.0.1:6379> lindex num 0
    "4"
    

    根据索引修改 list 中某个位置的值:

    127.0.0.1:6379> lset num 0 8
    OK
    127.0.0.1:6379> lrange num 0 10
    1) "8"
    2) "3"
    3) "2"
    4) "1"
    5) "5"
    

    在未知 list 长度的情况下, 可以使用 0 -1 的范围来查看 list 中的所有值:

    127.0.0.1:6379> lrange num 0 -1
     1) "8"
     2) "3"
     3) "2"
     4) "1"
     5) "5"
    

    在插入数据之前, 先检查指定的键是否存在, 如果存在则插入, 如果不存在, 则返回0. 用这个命令插入, 一次只能插入一个值, 多个会报错:

    127.0.0.1:6379> lpushx num 9
    (integer) 6
    127.0.0.1:6379> lrange num 0 -1
     1) "9"
     2) "8"
     3) "3"
     4) "2"
     5) "1"
     6) "5"
    127.0.0.1:6379> lpushx sub 9
    (integer) 0
    

    在 list 中间的某个位置插入数据, 可以用 linsert 命令, 借助关键字 before 和 after 确定位置:

    127.0.0.1:6379> lrange num 0 -1
    1) "5"
    2) "1"
    3) "2"
    4) "3"
    5) "8"
    6) "9"
    127.0.0.1:6379> linsert num before 8 55
    (integer) 7
    127.0.0.1:6379> lrange num 0 -1
    1) "5"
    2) "1"
    3) "2"
    4) "3"
    5) "55"
    6) "8"
    7) "9"
    127.0.0.1:6379> linsert num after 1 66
    (integer) 8
    127.0.0.1:6379> lrange num 0 -1
    1) "5"
    2) "1"
    3) "66"
    4) "2"
    5) "3"
    6) "55"
    7) "8"
    8) "9"
    

    以上, 就是关于 list值的相关命令, enjoy......

  • 相关阅读:
    Python 元组
    Python 字典
    Python 列表
    Python 数字(函数)
    Python 序列操作符与函数(字符串)
    JavaScript使用IEEE 标准进行二进制浮点运算,产生莫名错误
    网站用户体验要点(翻译理论)
    去掉checkbox边框的方法
    WPF数据模板样式选择器
    JS中年份问题的纠结!
  • 原文地址:https://www.cnblogs.com/rachelross/p/10410136.html
Copyright © 2020-2023  润新知