Redis中的List列表
创始人
2025-06-01 02:10:51

List

文章目录

  • List
    • 常用命令
      • lpush/rpush/lrange
      • lpop/rpop
      • lindex 按照下标取得值
      • llen 获取元素个数
      • lrem key
      • ltrim key
      • rpoplpush
      • lset key index value
      • linsert key before/after 已有值 插入的新值

常用命令

List特点:单值多value,value值可以重复

命令作用
lpush从左往右存值
rpush从右往左存值
lrange取值(只有从左往右取值)
lpop从左边弹出一个值
rpop从右边弹出一个值
lindex按照下标取得值
llen获取元素个数
lren key 数字N 给定值V1解释(删除N个值等于V1的元素)
ltrim key 开始index 结束index截取置顶范围的值后在赋值给key
rpoplpush 弹出的列表 接收的列表弹出列表弹出最后一个字段,接收列表接受字段
lset key index value替换值
linsert key before/after 已有值往前或者往后插入的新值

lpush/rpush/lrange

lpush 从左往右存值

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

lrange 取值(只有从左往右取值)

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

rpush 从右往左存值

127.0.0.1:6379> rpush list2 1 2 3 4 5
(integer) 5

lrange 取值(只有从左往右取值)

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

lpop/rpop

lpop 从左边弹出一个值

127.0.0.1:6379> lpop list1
"5"
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
4) "1"

rpop 从右边弹出一个值

127.0.0.1:6379> rpop list1 
"1"
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"

lindex 按照下标取得值

127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
127.0.0.1:6379> lindex list1 0
"4"

llen 获取元素个数

127.0.0.1:6379> llen list1
(integer) 3

lrem key

lren key 数字N 给定值V1 解释(删除N个值等于V1的元素)

127.0.0.1:6379> lpush list1 1 1 1 1 2 3 4 5 6
(integer) 9
127.0.0.1:6379> lrange list1 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"
7) "1"
8) "1"
9) "1"
127.0.0.1:6379> lrem list1 3 1
(integer) 3
127.0.0.1:6379> lrange list1 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"

ltrim key

ltrim key 开始index 结束index,截取置顶范围的值后在赋值给key

127.0.0.1:6379> lrange list1 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"
127.0.0.1:6379> ltrim list1 2 5
OK
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> 

rpoplpush

rpoplpush 弹出的列表 接受的列表

127.0.0.1:6379> lrange list2 0 -1
1) "11"
2) "12"
3) "13"
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> rpoplpush list1 list2
"1"
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
127.0.0.1:6379> lrange list2 0 -1
1) "1"
2) "11"
3) "12"
4) "13"

lset key index value

替换值

127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "3"
3) "2"
127.0.0.1:6379> lset list1 1 mysql
OK
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "mysql"
3) "2"

linsert key before/after 已有值 插入的新值

127.0.0.1:6379> linsert list1 before mysql java
(integer) 4
127.0.0.1:6379> lrange list1 0 -1
1) "4"
2) "java"
3) "mysql"
4) "2"

相关内容

热门资讯

热雪新疆e起来·一路开“新”|... “吉克普林曾是草场,如今这里成了滑雪胜地,家门口就能上班挣钱。牧区还在,草场也在,日子越过越有奔头。...
红魔11 Pro+ /电竞平板...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:IT之家)I...
2025年各地民政工作短视频展... 转自:民政微语 【2025年各地民政工作短视频展映 | ...
这是“政治强拆”,我们必须严肃... 本文与今日头条头条精选项目联合呈现,未经许可禁止转载【文/观察者网专栏作者 韩笑鹏】12月28日的清...
国防大学教授:远箱火实弹射击目... 【环球时报-环球网报道 记者郭媛丹】东部战区30日发布了上午远程火力实弹射击画面,画面中东部战区陆军...