内容简介:list 值就是一组根据插入顺序排列的字符串, 从左向右排列, 左边为头(head), 右侧为尾(tail). 左边为顶部, 右边为底部.下图为 list 值的示意图:
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......
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 理解原型其实是理解原型链
- 要理解深度学习,必须突破常规视角去理解优化
- 深入理解java虚拟机(1) -- 理解HotSpot内存区域
- 荐 【C++100问】深入理解理解顶层const和底层const
- 深入理解 HTTPS
- 深入理解 HTTPS
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。