Redis之list(键)学习

本文详细介绍了Redis中链表(list)的各种操作命令,包括lpush/rpush在链表头尾添加元素,lrange获取指定范围的元素,lpop/rpop从链表头尾删除并返回元素,llen获取链表长度,lindex获取指定位置元素,lrem删除指定数量的元素,ltrim保留指定范围的数据,以及rpoplpush将元素从一个链表移到另一个链表头部。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis命令参考:地址


  • lpush/rpush/lrange
  1. lpush:在key对应list的头部添加字符串元素。(用法:lpush list链表名称 元素值)
  2. rpush:在key对应list的尾部添加字符串元素。(用法:rpush list链表名称 元素值)
  3. lrange:获取list链表指定位置的值(用法:lrange list链表名称 下标)
127.0.0.1:6379> LPUSH list1 1 2 3 4 5
(integer) 5
127.0.0.1:6379> LPUSH list1 4 5 6
(integer) 8
127.0.0.1:6379> LRANGE list1 0 -1
1) "6"
2) "5"
3) "4"
4) "5"
5) "4"
6) "3"
7) "2"
8) "1"

 

127.0.0.1:6379> RPUSH list2 1 2 3 4 5
(integer) 5
127.0.0.1:6379> RPUSH list2 6 7 8
(integer) 8
127.0.0.1:6379> LRANGE list2 0 -1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
7) "7"
8) "8"
  • lpop:从list的头部删除元素,并返回删除元素。(用法:lpop list链表名称)
  • rpop:从list的尾部删除元素,并返回删除元素。(用法:rpop list链表名称)
127.0.0.1:6379> LPOP list2
"1"
127.0.0.1:6379> LRANGE list2 0 -1
1) "2"
2) "3"
3) "4"
4) "5"
5) "6"
6) "7"
7) "8"
127.0.0.1:6379> RPOP list2
"8"
127.0.0.1:6379> LRANGE list2 0 -1
1) "2"
2) "3"
3) "4"
4) "5"
5) "6"
6) "7"

  • llen:返回key对应list的长度,即list的元素个数。 (用法:llen list链表名称)
127.0.0.1:6379> LLEN list1
(integer) 8
127.0.0.1:6379> LRANGE list1 0 -1
1) "6"
2) "5"
3) "4"
4) "5"
5) "4"
6) "3"
7) "2"
8) "1"

  • lindex:返回名称为key的list中index位置的元素,元素位置索引号从0开始。(用法:lindex list链表名称 元素索引号index)

127.0.0.1:6379> LRANGE list1 0 -1
1) "6"
2) "5"
3) "4"
4) "5"
5) "4"
6) "3"
7) "2"
8) "1"
127.0.0.1:6379> LINDEX list1 0
"6"
127.0.0.1:6379> LINDEX list1 1
"5"

  • lrem:从key对应list中删除n个和value相同的元素。(n<0 从尾删除,n=0则全部删除。)(用法:lrem list链表名称 要删除几个  要删除的元素值)

127.0.0.1:6379> LREM list1 2 1
(integer) 1
127.0.0.1:6379> LRANGE list1 0 -1
1) "6"
2) "5"
3) "4"
4) "5"
5) "4"
6) "3"
7) "2"

这里我要删除的个数写的2个,但是链表中只有一个所以只删除一个即可


  • ltrim:保留指定key的值范围内的数据。即保留下标指定范围的field,其他的被删除。(用法:ltrim list链表名称 位置索引1 位置索引2) 保留位置索引1 到位置索引2的元素,其余全部删除。
127.0.0.1:6379> LRANGE list1 0 -1
1) "6"
2) "5"
3) "4"
4) "5"
5) "4"
6) "3"
7) "2"
127.0.0.1:6379> LTRIM list1 2 -1
OK
127.0.0.1:6379> LRANGE list1 0 -1
1) "4"
2) "5"
3) "4"
4) "3"
5) "2"

  • rpoplpush:从第一个list的尾部移除元素添加到第二个list的头部。(用法:rpoplpush 第一个list 第二个list)
127.0.0.1:6379> LRANGE list1 0 -1
1) "4"
2) "5"
3) "4"
4) "3"
5) "2"
127.0.0.1:6379> LRANGE list2 0 -1
1) "2"
2) "3"
3) "4"
4) "5"
5) "6"
6) "7"
127.0.0.1:6379> RPOPLPUSH list1 list2
"2"
127.0.0.1:6379> LRANGE list1 0 -1
1) "4"
2) "5"
3) "4"
4) "3"
127.0.0.1:6379> LRANGE list2 0 -1
1) "2"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
7) "7"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值