Redis系列命令更新--Redis列表命令

Redis列表

1、Redis Blpop命令:

(1)说明:Redis Blpop命令移出并获取列表的第一个元素;如果列表没有元素会阻塞列表直到等到超时或发现可弹出元素为止

(2)语法:redis 127.0.0.1:6379> BLPOP LIST1 LIST2 .. LISTN TIMEOUT;如果列表为空,返回一个nil;否则返回一个含有两个元素的列表,第一个元素是被弹出元素所属的key,第二个元素是被弹出元素的值

(3)实例:以下实例中,操作会被阻塞,如果指定的列表key list1存在数据则会返回第一个元素,否则在等待100s后会返回nil。如下图:

 

dbd2fbe4a6528dcdcbbdb8f890923df0.png

 

 

2、Redis Brpop命令

(1)说明:Redis Brpop命令移出并获取列表最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

(2)语法:redis 127.0.0.1:6379> BRPOP LIST1 LIST2 .. LISTN TIMEOUT ;假如在指定时间内没有任何元素被弹出,则返回一个nil和等待时长;反之,返回一个含有两个元素的列表,第一个元素是被弹出元素所属的key,第二个元素是被弹出元素的值

(3)实例:以下实例中,操作会被阻塞,如果指定的列表 key list1 存在数据则会返回第一个元素,否则在等待100s后会返回nil,如下图:

 

b6a9b8b106f7ddd4d5be98b8a690836c.png

 

 

3、Redis Brpoplpush命令

(1)说明:Redis Brpoplpush命令从列表中弹出一个值,将弹出的元素插入到另一个列表中并返回它;如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止

(2)语法:redis 127.0.0.1:6379> BRPOPLPUSH LIST1 ANOTHER_LIST TIMEOUT ;假如在指定时间内没有任何元素被弹出,则返回一个nil和等待时长;反之,返回一个含有两个元素的列表,第一个元素是被弹出元素的值,第二个元素是等待时长

(3)实例:没有值的情况:

 

a8a9b54181590075fe8086301e03cb7b.png

 

有值的情况:

# 非空列表

redis> BRPOPLPUSH msg reciver 500"hello moto"  # 弹出元素的值

(3.38s)  # 等待时长

redis> LLEN reciver(integer) 1

redis> LRANGE reciver 0 01) "hello moto"

 

4c83f9223e4099ca6dc8d8dad46f0daf.png

 

 

 

4、Redis Lindex 命令

(1)说明:Redis Lindex 命令用于通过索引获取列表中的元素;你也可以使用负数下标,以-1表示列表的最后一个元素,-2表示列表倒数第二个元素,以此类推。

(2)语法:redis 127.0.0.1:6379> LINDEX KEY_NAME INDEX_POSITION ;列表中下标为指定索引值的元素;如果指定索引值不在列表的区间范围内,返回nil

(3)实例:

 

f54039c8561eb5202a47c8c73b8e4fda.png

 

 

 

5、Redis Linsert命令

(1)说明:Redis Linsert命令用于在列表的元素前或者后插入元素,当指定元素不存在于列表时,不执行任何操作;当列表不存在时,被视为空列表,不执行任何操作;如果key不是列表类型,返回一个错误。

(2)语法:redis 127.0.0.1:6379> LINSERT KEY_NAME BEFORE EXISTING_VALUE NEW_VALUE ;如果命令执行成功,返回插入操作完成之后,列表的长度;如果没有找到指定元素,返回-1;如果key不存在或空列表,返回0。

(3)实例:

 

 

 

ece1415e12cc1ff4feaa068b1020db86.png

 

6、Redis Llen命令

(1)说明:Redis Llen命令用于返回列表的长度;如果列表不存在,则key被解释为一个空列表,返回0;如果key不是列表类型,返回一个错误

(2)语法:redis 127.0.0.1:6379> LLEN KEY_NAME;返回列表的长度

(3)实例:

 

5b0673c7e947a2c765b7ea4bef837ef9.png

 

 

7、Redis Lpop命令

(1)说明:Redis Lpop命令用于移除并返回列表的第一个元素;

(2)语法:redis 127.0.0.1:6379> Lpop KEY_NAME ;返回列表的第一个元素;当列表key不存在时,返回nil;

(3)实例:

实际返回:

 

76a472d3857a821a31b44d5d40426747.png

 

 

预计返回:

 

f99ecc3508a9bac60d678356dc1a4ad6.png

 

 

8、Redis Lpush命令

(1)说明:Redis Lpush命令将一个或多个值插入到列表头部;如果key不存在,一个空列表会被创建并执行LPUSH操作;当key存在但不是列表类型时,返回一个错误;

注意:在Redis 2.4版本以前的 LPUSH 命令,都只接受单个 value 值。

(2)语法:redis 127.0.0.1:6379> LPUSH KEY_NAME VALUE1.. VALUEN;执行LPUSH命令后,返回列表的长度

(3)实例:

 

2a925c5094e4b11655dad74e1f8205b6.png

 

 

9、Redis Lpushx命令(对比 8 是否有不同区别

(1)说明:Redis Lpushx命令将一个值插入到已存在的列表头部,列表不存在时,操作无效

(2)语法:redis 127.0.0.1:6379> LPUSHX KEY_NAME VALUE1.. VALUEN;LPUSHX命令执行后,返回列表的长度

(3)实例:

 

5704735d69ef4d09a5db715c363c6072.png

 

10、Redis Lrange命令

(1)说明:Redis Lrange命令返回列表中指定区间内的元素,区间以偏移量START和END指定;其中0表示列表的第一个元素,1表示列表的第二个元素,以此类推;你也可以使用负数下标,以-1表示列表的最后一个元素,-2表示列表的倒数第二个元素,以此类推。

(2)语法:redis 127.0.0.1:6379> LRANGE KEY_NAME START END;返回一个列表,包含指定区间内的元素

(3)实例:

 

97c05c2d6913192ca73199706b190913.png

 

 

11、Redis Lrem命令

(1)说明:Redis Lrem命令根据参数COUNT的值,移除列表中与参数VALUE相等的元素,COUNT的值可以是以下几种:

count>0:从表头开始向表尾搜索,移除与VALUE相等的元素,数量为COUNT;

count<0:从表尾开始向表头搜索,移除与VALUE相等的元素,数量为COUNT的绝对值;

count=0:移除表中所有与VALUE相等的值

(2)语法:redis 127.0.0.1:6379> LREM KEY_NAME COUNT VALUE;被移除元素的数量,列表不存在时返回0

(3)实例:

 

be7fe552b14108c976b6d4874cf846fb.png

 

 

12、Redis Lset命令

(1)说明:Redis Lset命令通过索引来设置元素的值;当索引参数超出范围,或对一个空列表进行LSET时,返回一个错误

(2)语法:redis 127.0.0.1:6379> LSET KEY_NAME INDEX VALUE;操作成功返回ok,否则返回错误信息

(3)实例:

 

4c466ed87e7918e5e7bd4c44f645e113.png

 

 

13、Redis Ltrim命令

(1)说明:Redis Ltrim命令对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除;下标0表示列表的第一个元素,以1表示列表的第二个元素,以此类推;你也可以使用负数下标,以-1表示列表的最后一个元素,-2表示列表的倒数第二个元素,以此类推。

(2)语法:redis 127.0.0.1:6379> LTRIM KEY_NAME START STOP;命令执行成功时,返回ok

(3)实例:

 

8bceda660a0ae4bcc17e91ea82c135eb.png

 

 

14、Redis Rpop命令:

(1)说明:Redis Rpop命令用于移除返回列表的最后一个元素

(2)语法:redis 127.0.0.1:6379> RPOP KEY_NAME ;返回移除的最后一个元素;当列表不存在时,返回nil

(3)实例:

 

385c04033925447083d398bd0ca257af.png

 

 

15、Redis Rpoplpush命令

(1)说明:Redis Rpoplpush命令用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回

(2)语法:redis 127.0.0.1:6379> RPOPLPUSH SOURCE_KEY_NAME DESTINATION_KEY_NAME;返回被弹出的元素

(3)实例:

 

 

 

c4bf277cea792d1b667804fd81b15f1d.png

 

16、Redis Rpush命令

(1)说明:Redis Rpush命令用于将一个或多个值插入到列表的尾部(最右边);如果列表不存在,一个空列表会被创建并执行RPUSH操作;当列表存在但不是列表类型时,返回一个错误;

注意:在 Redis 2.4 版本以前的 RPUSH 命令,都只接受单个 value 值。

(2)语法:redis 127.0.0.1:6379> RPUSH KEY_NAME VALUE1..VALUEN;执行RPUSH操作后,列表的长度

(3)实例:

 

d615e005eb5b909ffdff70a14a00a96b.png

 

 

17、Redis Rpushx命令:

(1)说明:Redis Rpushx命令用于将一个值插入到已存在的列表尾部(最右边);如果列表不存在,操作无效

(2)语法:redis 127.0.0.1:6379> RPUSHX KEY_NAME VALUE1..VALUEN;返回执行Rpush操作后,列表的长度

(3)实例:

 

 

 

c5b7609b7eb01143ef00642a4af58cca.png

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA快速生成项目树形结构图

下图用的IDEA工具&#xff0c;但我觉得WebStorm 应该也可以 文章目录 进入项目根目录下&#xff0c;进入cmd输入如下指令&#xff1a; 只有文件夹 tree . > list.txt 包括文件夹和文件 tree /f . > list.txt 还可以为相关包路径加上注释

程控电阻器

程控电阻器 由于要测试电阻型温度传感器&#xff0c;一个电阻箱又很贵&#xff0c;就想做一款 程控电阻器 来满足。 设计满足300Ω到400kΩ可调电阻。 设计思路 选择数字电位器去控制电阻输出&#xff0c;最好是精度高&#xff0c;范围大的数字电位器。经过寻找后&#xff0c;发…

CentOS 7 Web面板的文件管理器说明

在使用CentOS 7 Web Panel&#xff08;CWP7&#xff09;时&#xff0c;偶尔要求在服务器曲面上修改&#xff0c;创建&#xff0c;编辑或删除文件。 最简单&#xff0c;最直接的方式是通过利用CWP7的内置文件管理器。 本文将详细介绍如何启动它&#xff0c;使用它&#xff0c;以…

【D3.js in Action 3 精译】2.3 用 D3 选中页面元素

当前内容所在位置 第一部分 D3.js 基础知识 第一章 D3.js 简介&#xff08;已完结&#xff09; 1.1 何为 D3.js&#xff1f;1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践&#xff08;上&#xff09;1.3 数据可视化最佳实践&#xff08;下&#xff09;1.4 本章小结 第二章…

C语言基础and数据结构

C语言程序和程序设计概述 程序:可以连续执行的一条条指令的集合 开发过程:C源程序(.c文件) --> 目标程序(.obj二进制文件,目标文件) --> 可执行文件(.exe文件) -->结果 在任何机器上可以运行C源程序生成的 .exe 文件 没有安装C语言集成开发环境,不能编译C语言程…

【数据结构】二叉树全攻略,从实现到应用详解

​ &#x1f48e;所属专栏&#xff1a;数据结构与算法学习 &#x1f48e; 欢迎大家互三&#xff1a;2的n次方_ ​ &#x1f341;1. 树形结构的介绍 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做…

Java18的主要新特性总结

目录 概述 变动说明 重要变更和信息 下载地址 Java18新特性总结 1、JEP 420: Switch 的模式匹配&#xff08;第二次预览&#xff09; 功能进化 Switch 模式匹配 类型标签 null标签 守卫标签 2、JEP 400&#xff1a;默认UTF-8编码 3、JEP 408&#xff1a;简易Web服务…

Java 虚拟线程:案例研究

一. 关键要点 虚拟线程是 Java 并发编程的一个重要进步&#xff0c;但在运行典型的云原生 Java 工作负载方面&#xff0c;它们并不比 Open Liberty 现有的自主线程池具有明显的优势。对于 CPU 密集型工作负载&#xff0c;由于目前尚不清楚的原因&#xff0c;虚拟线程的吞吐量低…

Idea如何快速高效的修改项目的包名

文章目录 前言一、全局替换的快捷键二、弹出如下的界面 前言 当我们有时候在做项目迁移的时候&#xff0c;需要快速的修改项目的包名&#xff01;那么如何快速高效的修改项目的报名呢&#xff1f; 经过尝试了很多方法&#xff01;最简单的方法就是利用全局替换来直接替换报名&…

QT实现带动态弹出动画的自定义通知提示框

Qt中经常会用到提示框&#xff0c;用于交互操作&#xff01;QMessageBox是被大多数人用到的&#xff0c;用起来是很方便&#xff0c;但是控件类型、大小、布局、样式、往往不是开发者想要的。本实例实现的Notification控件&#xff0c;是一种悬浮在角落的通知提醒框。 一、简述…

Day07-ES集群加密,kibana的RBAC实战,zookeeper集群搭建,zookeeper基本管理及kafka单点部署实战

Day07-ES集群加密&#xff0c;kibana的RBAC实战&#xff0c;zookeeper集群搭建&#xff0c;zookeeper基本管理及kafka单点部署实战 0、昨日内容回顾:1、基于nginx的反向代理控制访问kibana2、配置ES集群TSL认证:3、配置kibana连接ES集群4、配置filebeat连接ES集群5、配置logsta…

Mysql-错误处理: Found option without preceding group in config file

1、问题描述 安装MYSQL时&#xff0c;在cmd中“初始化”数据库时&#xff0c;输入命令&#xff1a; mysqld --initialize --consolecmd报错&#xff1a; D:\mysql-5.7.36-winx64\bin>mysql --initialize --console mysql: [ERROR] Found option without preceding group …

打印室预约小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;附近打印店管理&#xff0c;文件打印管理&#xff0c;当前预约管理&#xff0c;预约历史管理&#xff0c;打印记录管理 开发系统&#xff1a;Windows 架构模式&#xff1a;SSM JD…

linux服务器如何创建Raid10阵列,删除raid10

文章目录 1&#xff0c;首先查看一下机器上有几块盘2&#xff0c;构建raid10阵列3&#xff0c;把制作好的 RAID 磁盘阵列格式化为 ext4 格式4&#xff0c;创建挂载点然后把硬盘设备进行挂载操作5&#xff0c;查看/dev/md0 磁盘阵列的详细信息6&#xff0c;删除raid10 1&#xf…

理解深度学习中的过拟合和Dropout

新书速览|PyTorch深度学习与企业级项目实战-CSDN博客 随着迭代次数的增加&#xff0c;我们可以发现测试数据的loss值和训练数据的loss值存在着巨大的差距&#xff0c; 如图4-8所示&#xff0c;随着迭代次数的增加&#xff0c;training loss越来越好&#xff0c;但test loss却越…

分布式缓存-Redis持久化

使用缓存的时候&#xff0c;我们经常需要对内存中的数据进行持久化&#xff08;将内存中的数据写入到硬盘中&#xff09;。 原因&#xff1a;重用数据&#xff08;比如重启机器、机器故障之后恢复数据&#xff09;&#xff0c;做数据同步&#xff08;比如 Redis 集群的主从节点…

广告投放的智能优化:Kompas.ai如何提高广告效果

在数字广告领域&#xff0c;智能优化已成为提升广告投放效果和投资回报率(ROI)的关键。Kompas.ai&#xff0c;一款先进的广告智能优化工具&#xff0c;利用数据分析和机器学习技术&#xff0c;帮助广告主实现更精准、高效的广告投放。 智能优化在提升广告效果中的作用 智能优化…

微调 Florence-2 - 微软的尖端视觉语言模型

Florence-2 是微软于 2024 年 6 月发布的一个基础视觉语言模型。该模型极具吸引力&#xff0c;因为它尺寸很小 (0.2B 及 0.7B) 且在各种计算机视觉和视觉语言任务上表现出色。 Florence 开箱即用支持多种类型的任务&#xff0c;包括: 看图说话、目标检测、OCR 等等。虽然覆盖面…

MySQL字符串魔法:拼接、截取、替换与定位的艺术

在数据的世界里&#xff0c;MySQL作为一把强大的数据处理利剑&#xff0c;其字符串处理功能犹如魔术师手中的魔法棒&#xff0c;让数据变换自如。今天&#xff0c;我们就来一场关于MySQL字符串拼接、截取、替换以及查找位置的奇幻之旅&#xff0c;揭开这些操作的神秘面纱。 介绍…

谷歌浏览器114之前、126、127、128版本驱动下载,实时更新

114之前版本下载链接在这里 126以后版本下载链接在此&#xff0c;只有后面status是绿色对勾的才可以下载&#xff0c;**驱动大版本一致就可以使用&#xff0c;不需版本号一模一样&#xff1b;**下载所需版本只需点击对应的版本名称即可跳转到对应版本的下载位置。 以正式版为例…