Redis 04 List
2022/4/17 19:42:38
本文主要是介绍Redis 04 List,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在 Redis 里面,可以把 List 当成栈、队列、阻塞队列使用。
list 实际是一个链表,左右都可以插入值。
如果 key 不存在,创建新的链表。
如果移除了所有元素,空链表也代表不存在。
在两边插入或者改动值,效率最高;操作中间元素,效率相对低一些。
插入
从左插入
lpush
将一个值或者多个值,插入列表的头部,即从左插入。
127.0.0.1:6379> lpush list one # 从左插入一个值 (integer) 1 127.0.0.1:6379> lpush list two three # 从左插入多个值 (integer) 3 127.0.0.1:6379> lrange list 0 -1 # -1 即表示查询所有元素 1) "three" 2) "two" 3) "one" 127.0.0.1:6379> lrange list 0 1 # 查询指定下标范围元素 1) "three" 2) "two"
先进的排在后面,后进的排在前面。
从右插入
rpush
将一个值或者多个值,插入列表的尾部,即从右插入。
127.0.0.1:6379> rpush list four # 从右插入一个值 (integer) 4 127.0.0.1:6379> rpush list five six # 从右插入多个值 (integer) 6 127.0.0.1:6379> lrange list 0 -1 1) "three" 2) "two" 3) "one" 4) "four" 5) "five" 6) "six"
先进的排在前面,后进的排在后面。
指定元素前后插入值
linsert
127.0.0.1:6379> lrange list 0 -1 1) "two" 2) "one" 127.0.0.1:6379> linsert list before two three # two 之前插入 three (integer) 3 127.0.0.1:6379> lrange list 0 -1 1) "three" 2) "two" 3) "one" 127.0.0.1:6379> linsert list after two three # two 之后插入 three (integer) 4 127.0.0.1:6379> lrange list 0 -1 1) "three" 2) "two" 3) "three" 4) "one"
移除
从左移除
lpop
127.0.0.1:6379> lrange list 0 -1 1) "three" 2) "two" 3) "one" 4) "four" 127.0.0.1:6379> lpop list # 移除最左边的元素 "three" 127.0.0.1:6379> lrange list 0 -1 1) "two" 2) "one" 3) "four"
从右移除
rpop
127.0.0.1:6379> lrange list 0 -1 1) "two" 2) "one" 3) "four" 127.0.0.1:6379> rpop list # 移除最右边的元素 "four" 127.0.0.1:6379> lrange list 0 -1 1) "two" 2) "one"
移除指定元素
lrem
127.0.0.1:6379> lrange list 0 -1 1) "three" 2) "three" 3) "two" 4) "one" 127.0.0.1:6379> lrem list 1 one # 移除一个指定元素 (integer) 1 127.0.0.1:6379> lrange list 0 -1 1) "three" 2) "three" 3) "two" 127.0.0.1:6379> lrem list 2 three # 移除两个指定元素 (integer) 2 127.0.0.1:6379> lrange list 0 -1 1) "two"
查看
查看列表
lrange
127.0.0.1:6379> lrange list 0 -1 # -1 即表示查询所有元素 1) "three" 2) "two" 3) "one" 127.0.0.1:6379> lrange list 0 1 # 查询指定下标范围元素 1) "three" 2) "two"
通过下标获取元素
lindex
127.0.0.1:6379> lrange list 0 -1 1) "two" 2) "one" 127.0.0.1:6379> lindex list 0 # 下标从 0 开始 "two" 127.0.0.1:6379> lindex list 1 "one"
Redis 显示的下标是从 1 开始的,实际的下标还是从 0 开始的。
获取列表长度
llen
127.0.0.1:6379> llen list (integer) 2
查看列表是否存在
exists
127.0.0.1:6379> exists list (integer) 1 127.0.0.1:6379> exists list3 (integer) 0
截取
截取指定下标范围的元素
ltrim
127.0.0.1:6379> lrange list 0 -1 1) "one" 2) "two" 3) "three" 4) "four" 127.0.0.1:6379> ltrim list 1 2 # 截取下标 1 到 2 的元素 OK 127.0.0.1:6379> lrange list 0 -1 1) "two" 2) "three"
移动
移除列表最后一个元素并移动到新列表中
rpoplpush
127.0.0.1:6379> lrange list 0 -1 1) "two" 2) "three" 127.0.0.1:6379> rpoplpush list list2 # 移除列表最后一个元素并移动到新列表中 "three" 127.0.0.1:6379> lrange list 0 -1 # 原来的列表 1) "two" 127.0.0.1:6379> lrange list2 0 -1 # 新的列表 1) "three"
赋值
指定下标赋值
lset
127.0.0.1:6379> lrange list 0 -1 1) "two" 127.0.0.1:6379> lset list 0 one # 赋值列表指定下标元素 OK 127.0.0.1:6379> lrange list 0 -1 1) "one"
如果列表不存在或者列表指定下标不存在,赋值失败。
这篇关于Redis 04 List的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24Redis资料:新手入门快速指南
- 2024-12-24Redis资料:新手入门教程与实践指南
- 2024-12-24Redis资料:新手入门教程与实践指南
- 2024-12-07Redis高并发入门详解
- 2024-12-07Redis缓存入门:新手必读指南
- 2024-12-07Redis缓存入门:新手必读教程
- 2024-12-07Redis入门:新手必备的简单教程
- 2024-12-07Redis入门:新手必读的简单教程
- 2024-12-06Redis入门教程:从安装到基本操作
- 2024-12-06Redis缓存入门教程:轻松掌握缓存技巧