《Redis使用手册之列表》

《Redis使用手册之列表》

目录

      • **《Redis使用手册之列表》**
      • **LPUSH:将元素推入列表左端**
      • **LPUSHX、RPUSHX:只对已存在的列表执行推入操作**
      • **LPOP:弹出列表最左端的元素**
      • **RPOP:弹出列表最右端的元素**
      • **RPOPLPUSH:将右端弹出的元素推入左端**
      • **LLEN:获取列表的长度**
      • **LINDEX:获取指定索引上的元素**
      • **LRANGE:获取指定索引范围上的元素**
      • **LSET:为指定索引设置新元素**
      • **LINSERT:将元素插入列表**
      • **4.12 LTRIM:修剪列表**
      • **LREM:从列表中移除指定元素**
      • **BLPOP:阻塞式左端弹出操作**
      • **BRPOP:阻塞式右端弹出操作**
      • **BRPOPLPUSH:阻塞式弹出并推入操作**

LPUSH:将元素推入列表左端

  • 127.0.0.1:6379> lpush list aa bb cc
    (integer) 3
    127.0.0.1:6379> rpush list dd ee ff
    (integer) 6

    lpush :将元素推入列表左端 lpush list aa bb cc 可一次推入多个元素

    LPUSH:将元素推入列表左端

LPUSHX、RPUSHX:只对已存在的列表执行推入操作

  • 127.0.0.1:6379> lpushx list1 aa
    (integer) 0
    127.0.0.1:6379> rpushx list1 aa
    (integer) 0

    LPUSHX命令只会在列表已经存在的情况下,将元素推入列表左端 RPUSHX命令只会在列表已经存在的情况下,将元素推入列表右端。

    LPUSHX命令只会在列表已经存在的情况下,将元素推入列表左端。●RPUSHX命令只会在列表已经存在的情况下,将元素推入列表右端。

LPOP:弹出列表最左端的元素

  • 127.0.0.1:6379> lpop list
    “cc”
    127.0.0.1:6379> lpop list
    “bb”
    127.0.0.1:6379> lpop list
    “aa”

    LPOP:弹出列表最左端的元素。 后进先出

    LPOP:弹出列表最左端的元素

RPOP:弹出列表最右端的元素

  • 127.0.0.1:6379> rpop list
    “ff”

    RPOP:弹出列表最右端的元素

    RPOP:弹出列表最右端的元素

RPOPLPUSH:将右端弹出的元素推入左端

  • 127.0.0.1:6379> rpush list1 a b c
    (integer) 3
    127.0.0.1:6379> rpush list2 d e f
    (integer) 3
    127.0.0.1:6379> rpoplpush list1 list2
    “c”
    127.0.0.1:6379> rpoplpush list1 list2
    “b”
    127.0.0.1:6379> rpoplpush list1 list2
    “a”
    127.0.0.1:6379> rpoplpush list1 list1
    (nil)

    127.0.0.1:6379> rpoplpush list2 list3
    “f”

    列表 list1中的元素已经全部被推至list2中。

    RPOPLPUSH:将右端弹出的元素推入左端

    RPOPLPUSH source target 源列表和目标列表相同 在这种情况下,RPOPLPUSH命令的效果相当于将列表最右端的元素变成列表最左端的元素。

    处理空列表

    如果用户传给RPOPLPUSH命令的源列表并不存在,那么RPOPLPUSH命令将放弃执行弹出和推入操作,只返回一个空值表示命令执行失败。

    如果源列表非空,但是目标列表为空,RPOPLPUSH命令将正常执行弹出操作和推入操作

    RPOPLPUSH:将右端弹出的元素推入左端

LLEN:获取列表的长度

  • 127.0.0.1:6379> llen list1
    (integer) 0
    127.0.0.1:6379> llen list2
    (integer) 5

    LLEN:获取列表的长度

    LLEN:获取列表的长度

LINDEX:获取指定索引上的元素

  • 127.0.0.1:6379> lindex list2 0
    “a”
    127.0.0.1:6379> lindex list2 2
    “c”
    127.0.0.1:6379> lindex list2 1
    “b”
    127.0.0.1:6379> lindex list2 -1
    “e”
    127.0.0.1:6379> lindex list2 -2
    “d”

    LINDEX:获取指定索引上的元素。 正数索引从列表的左端开始计算,一次向右端递增:最左端元素的索引为0 负数索引从列表的右端开始计算,一次向左端递减:最右端元素的索引为-1.

    LINDEX:获取指定索引上的元素

LRANGE:获取指定索引范围上的元素

127.0.0.1:6379> lrange list2 0 -1

  1. “a”
  2. “b”
  3. “c”
  4. “d”
  5. “e”

在这里插入图片描述

LRANGE:获取指定索引范围上的元素 LRANGE list start end

LRANGE:获取指定索引范围上的元素

LSET:为指定索引设置新元素

  • 127.0.0.1:6379> lset list2 -1 f
    OK
    127.0.0.1:6379> lrange list2 0 -1

    1. “a”
    2. “b”
    3. “c”
    4. “d”
    5. “f”

    在这里插入图片描述

    LSET:为指定索引设置新元素 LSET list index new_element

    LSET:为指定索引设置新元素

LINSERT:将元素插入列表

  • 127.0.0.1:6379> linsert list2 after f g
    (integer) 6
    127.0.0.1:6379> lrange list2 0 -1

    1. “a”
    2. “b”
    3. “c”
    4. “d”
    5. “f”
    6. “g”

    在这里插入图片描述

    LINSERT:将元素插入列表 LINSERT list BEFORE|AFTER target_element new_element

    LINSERT:将元素插入列表

4.12 LTRIM:修剪列表

  • 127.0.0.1:6379> ltrim list2 0 4
    OK
    127.0.0.1:6379> lrange list2 0 -1

    1. “a”
    2. “b”
    3. “c”
    4. “d”
    5. “f”

    在这里插入图片描述

    LTRIM:修建列表 LTRIM命令接受一个列表和一个索引范围为参数,并移除列表中位于索引范围之外的所有元素,只保留给定范围之内的元素。 LTRIM list start end 与LRANGE命令一样,LTRIM命令不仅可以处理正数索引,还可以处理负数索引。

    LTRIM:修剪列表LTRIM命令接受一个列表和一个索引范围作为参数,并移除列表中位于给定索引范围之外的所有元素,只保留给定范围之内的元素

LREM:从列表中移除指定元素

  • 127.0.0.1:6379> rpush list5 a b b a c c a
    (integer) 7
    127.0.0.1:6379> rpush list6 a b b a c c a
    (integer) 7
    127.0.0.1:6379> rpush list7 a b b a c c a
    (integer) 7
    127.0.0.1:6379> lrem list5 0 a
    (integer) 3
    127.0.0.1:6379> lrange list5 0 -1

    1. “b”
    2. “b”
    3. “c”
    4. “c”
      127.0.0.1:6379> lrem list6 1 a
      (integer) 1
      127.0.0.1:6379> lrange list6 0 -1
    5. “b”
    6. “b”
    7. “a”
    8. “c”
    9. “c”
    10. “a”
      127.0.0.1:6379> lrem list7 -1 a
      (integer) 1

    在这里插入图片描述

    LREM:从列表中移除指定元素 LREM list count element count参数的值决定了LREM命令移除元素的方式:

    如果count参数的值等于0,那么LREM命令将移除列表中包含的所有指定元素。

    如果count参数的值大于0,那么LREM命令将从列表的左端开始向右进行检查,并移除最先发现的count个指定元素。

    如果count参数的值小于0,那么LREM命令将从列表的右端开始向左进行检查,并移除最先发现的abs(count)个指定元素。abs即count的绝对值。

    LREM:从列表中移除指定元素

BLPOP:阻塞式左端弹出操作

  • 127.0.0.1:6379> blpop list2 5

    1. “list2”
    2. “a”
      127.0.0.1:6379> blpop list2 5 5
    3. “list2”
    4. “b”
      127.0.0.1:6379> blpop list2 50
    5. “list2”
    6. “c”

BLPOP:阻塞式左端弹出操作 BLPOP命令式带有阻塞的左端弹出操作,它接受任意多个列表以及一个妙计精度的超时时限作为参数: BLPOP list [list …] timeout

BLPOP:阻塞式左端弹出操作BLPOP命令是带有阻塞功能的左端弹出操作,它接受任意多个列表以及一个秒级精度的超时时限作为参数:

BRPOP:阻塞式右端弹出操作

  • 127.0.0.1:6379> brpop list2 30 30

    1. “list2”
    2. “f”

    BRPOP:阻塞式右端弹出操作 BRPOP命令式带有阻塞功能的右端弹出操作,除了弹出的方向不同之外,其他方面都和BLPOP命令一样。

    BRPOP:阻塞式右端弹出操作BRPOP命令是带有阻塞功能的右端弹出操作,除了弹出的方向不同之外,其他方面都和BLPOP命令一样:

BRPOPLPUSH:阻塞式弹出并推入操作

  • BRPOPLPUSH:阻塞式弹出并推入操作 BRPOPLPUSH命令式RPOPLPUSH命令的阻塞版本,BRPOPPUSH命令接受一个源列表、一个目标列表以及一个妙级精度的超时时限作为参数: BRPOPLPUSH source target timeout

BRPOPLPUSH:阻塞式弹出并推入操作BRPOPLPUSH命令是RPOPLPUSH命令的阻塞版本,BRPOPLPUSH命令接受一个源列表、一个目标列表以及一个秒级精度的超时时限作为参数:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/830835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch教程入门到精通——第二部分(基于ELK技术栈elasticsearch 7.x新特性)

ElasticSearch教程入门到精通——第二部分(基于ELK技术栈elasticsearch 7.x新特性) 1. JavaAPI-环境准备1.1 新建Maven工程——添加依赖1.2 HelloElasticsearch 2. 索引2.1 索引——创建2.2 索引——查询2.3 索引——删除 3. 文档3.1 文档——重构3.2 文…

SQL 基础 | BETWEEN 的常见用法

在SQL中,BETWEEN是一个操作符,用于选取介于两个值之间的数据。 它包含这两个边界值。BETWEEN操作符常用于WHERE子句中,以便选取某个范围内的值。 以下是BETWEEN的一些常见用法: 选取介于两个值之间的值: 使用 BETWEEN来…

基于昇腾AI | 英码科技EA500I使用AscendCL实现垃圾分类和视频物体分类应用

现如今,人工智能迅猛发展,AI赋能产业发展的速度正在加快,“AI”的需求蜂拥而来,但AI应用快速落地的过程中仍存在很大的挑战:向下需要适配的硬件,向上需要完善的技术支持,两者缺一不可。 基于此&…

【配置】Docker搭建JSON在线解析网站

云服务器打开端口8787 连接上docker运行 docker run -id --name jsonhero -p 8787:8787 -e SESSION_SECRETabc123 henryclw/jsonhero-webhttp://ip:8787访问 Github:地址

STM32 看门狗WDG

一、看门狗(Watchdog) 看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入长时间的罢工状态,保证系统的可靠…

Django后台项目开发实战一

开发环境使用 Anaconda, IDE 使用 pycharm 第一阶段 创建 Django 项目 在 Anaconda Prompt 中逐步输入下面的命令(之后的所有命令都在这个) 首先创建一个虚拟环境,名称自拟,python 版本我这里使用 3.9.18 关于 python 版本和…

PotatoPie 4.0 实验教程(28) —— FPGA实现sobel算子对摄像头图像进行边缘提取

什么是sobel算子? Sobel 算子是一种常用的边缘检测算子,用于在图像中检测边缘。它基于对图像进行梯度运算,可以帮助识别图像中灰度值变化较大的区域,从而找到图像中的边缘。 Sobel 算子通过计算图像的水平和垂直方向的一阶导数来…

Linux 虚拟主机切换php版本及参数

我使用的Hostease的Linux虚拟主机产品,由于网站程序需要支持高版本的PHP,程序已经上传到主机,但是没有找到切换PHP以及查看PHP有哪些版本的位置,因此咨询了Hostease的技术支持,寻求帮助了解到可以实现在cPanel面板上找到此切换PHP版本的按钮&…

2024 五一杯高校数学建模邀请赛(A题)|钢板最优切割路径问题|建模秘籍文章代码思路大全

铛铛!小秘籍来咯! 小秘籍团队独辟蹊径,运用Dijkstra算法,最优路径切割等强大工具,构建了这一题的详细解答哦! 为大家量身打造创新解决方案。小秘籍团队,始终引领着建模问题求解的风潮。 抓紧小秘…

Stability AI 推出稳定音频 2.0:为创作者提供先进的 AI 生成音频

概述 Stability AI 的发布再次突破了创新的界限。这一尖端模型以其前身的成功为基础,引入了一系列突破性的功能,有望彻底改变艺术家和音乐家创建和操作音频内容的方式。 Stable Audio 2.0 代表了人工智能生成音频发展的一个重要里程碑,为质量…

Flask模版详解

Flask模版详解 概述Jinja2模板引擎渲染模版的步骤变量控制结构自定义错误页面链接静态文件 概述 模板是一个包含响应文本的文件,其中包含用占位变量表示的动态部分,其具体值只在请求的上下文中才能知道。使用真实值替换变量,再返回最终得到的…

Android4.4真机移植过程笔记(一)

1、RK源码编译 获取内核源码: git clone git172.28.1.172:rk3188_kernel -b xtc_ok1000 内核编译环境: 从172.28.1.132编译服务器的/data1/ZouZhiPing目录下拷贝toolchain.tar.gz(交叉编译工具链)并解压到与rk3188_kernel同级目…

Golang | Leetcode Golang题解之第59题螺旋矩阵II

题目&#xff1a; 题解&#xff1a; func generateMatrix(n int) [][]int {matrix : make([][]int, n)for i : range matrix {matrix[i] make([]int, n)}num : 1left, right, top, bottom : 0, n-1, 0, n-1for left < right && top < bottom {for column : lef…

前端发起网络请求的几种常见方式(XMLHttpRequest、FetchApi、jQueryAjax、Axios)

摘要 前端发起网络请求的几种常见方式包括&#xff1a; XMLHttpRequest (XHR)&#xff1a; 这是最传统和最常见的方式之一。它允许客户端与服务器进行异步通信。XHR API 提供了一个在后台发送 HTTP 请求和接收响应的机制&#xff0c;使得页面能够在不刷新的情况下更新部分内容…

【分享】如何将word格式文档转化为PDF格式

在日常的办公和学习中&#xff0c;我们经常需要将Word文档转换为PDF格式。PDF作为一种通用的文件格式&#xff0c;具有跨平台、易读性高等优点&#xff0c;因此在许多场合下都更为适用。那么&#xff0c;如何实现Word转PDF呢&#xff1f;本文将介绍几种常用的方法&#xff0c;帮…

光伏储能是什么意思?有什么好处?

随着全球能源需求的持续增长和对环保要求的不断提高&#xff0c;新能源技术的发展已成为全球的热门话题。光伏储能作为其中的一项重要技术&#xff0c;正在逐渐受到人们的关注。那么&#xff0c;光伏储能是什么意思&#xff1f;它又有哪些好处呢&#xff1f; 一、光伏储能的定义…

『FPGA通信接口』DDR(3)DDR3颗粒读写测试

文章目录 前言1.配套工程简介2.测试内容与策略3. 测试程序分析4.程序结果分析5.一个IP控制两颗DDR36.传送门 前言 以四颗MT41K512M16HA-125AIT颗粒为例&#xff0c;介绍如何在一块新制板卡上做关于DDR3的器件测试。前面两篇介绍了什么是DDR&#xff0c;并介绍了xilinx给出的FPG…

神经网络反向传播算法

今天我们来看一下神经网络中的反向传播算法&#xff0c;之前介绍了梯度下降与正向传播~ 神经网络的反向传播 专栏&#xff1a;&#x1f48e;实战PyTorch&#x1f48e; 反向传播算法&#xff08;Back Propagation&#xff0c;简称BP&#xff09;是一种用于训练神经网络的算…

品牌百度百科词条需要什么资料?

品牌百度百科词条是一个品牌的数字化名片&#xff0c;更是品牌历史、文化、实力的全面展现。 作为一个相当拿得出手的镀金名片&#xff0c;品牌百度百科词条创建需要什么资料&#xff0c;今天伯乐网络传媒就来给大家讲解一下。 一、品牌基本信息&#xff1a;品牌身份的明确 品…

【漏洞复现】科达 MTS转码服务器 任意文件读取漏洞

0x01 产品简介 科达 MTS转码服务器是一款专业的视频转码设备&#xff0c;采用了高性能的硬件配置和先进的转码技术&#xff0c;能够实现高效、高质量的视频转码。 0x02 漏洞概述 科达 MTS转码服务器存在任意文件读取漏洞&#xff0c;攻击可以通过该漏洞读取服务器任意敏感信…