设为首页 加入收藏

TOP

理解 Redis(6) - List 值
2019-09-17 18:18:16 】 浏览:27
Tags:理解 Redis 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......

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇理解 Redis(7) - Set 值 下一篇查询job的几个语句

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目