Redis中的List列表

news/2025/2/16 5:53:13/

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"

http://www.ppmy.cn/news/33963.html

相关文章

QT 如何提高 Qt Creator 的编译速度

如何提高编译速度,貌似是一个老生常谈的话题。对于Qter而言,如何提高QT Creator 的编辑速度是一直都是大家所期盼的。本文也是查阅了各路大神的方法后整理出来的,希望对各位有所帮助。 1、在*.pro文件添加预编译机制 QT官方给出的示例&…

好用的5款国产低代码平台介绍

一、云程低代码平台 云程低代码平台是一款基于springboot、vue.js技术的企业级低代码开发平台,平台采用模型驱动、高低码融合、开放扩展等设计理念,基于业务建模、流程建模、表单建模、报表建模、大屏建模等可视化建模工具,通过拖拉拽零代码方…

神经网络第二篇

目录感受野(Receptive Field)上采样(upsampling)下采样(subsampled)残差网络(Resnet)神经网络人工神经网络(ANN)卷积神经网络(CNN)经典的卷积神经网络循环神经…

百度CTO王海峰:全栈AI技术加持,打造新一代大语言模型文心一言

3月16日,百度在北京总部召开新闻发布会,百度创始人、董事长兼首席执行官李彦宏和百度首席技术官王海峰出席,李彦宏展示了新一代知识增强大语言模型文心一言在文学创作、商业文案创作、数理逻辑推算、中文理解、多模态生成五个使用场景中的综合…

学习系统编程No.7【进程替换】

引言: 北京时间:2023/3/21/7:17,这篇博客本来昨天晚上就能开始写的,但是由于笔试强训的原因,导致时间用在了做题上,通过快2个小时的垂死挣扎,我充分意识到了自己做题能力的缺陷和运用新知识的缺…

python基本语法——字符串相关

count() 方法用于统计字符串里某个字符或子字符串出现的次数。可选参数为在字符串搜索的开始与结束位置。 语法:str.count(sub, start 0,endlen(string)) sub – 搜索的子字符串 start – 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。 end – 字符…

【微服务】对Dubbo核心架构了解多少?

前言 在云原生时代,使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力,利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等 服务治理诉求。这让Dubbo成为了构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、…

单片机中按键检测函数详细分析经典

​ 目录 一、如何进行按键检测 1.从裸机的角度分析 2.从OS的角度分析 二、最简单的按键检测程序 三、为什么要了解FIFO 四、什么是FIFO 五、按键FIFO的优点 六、按键 FIFO 的实现 1.定义结构体 2.将键值写入FIFO 3.从FIFO读出键值 4.按键检测程序 5.按键扫描 7.…