Redis列表类型(list)模拟队列操作

news/2024/11/7 9:31:37/

文章目录

  • Redis列表类型模拟队列操作
  • 1. 使用用lpush和rpop模拟队列的操作
    • 1.1 lpush介绍
    • 1.2 rpop介绍
    • 1.3 llen介绍
    • 1.4 lrange介绍
    • 1.5 del命令介绍
  • 2. 使用用rpush和lpop模拟队列的操作
    • 2.1 rpush介绍
    • 2.2 lpop介绍

Redis列表类型模拟队列操作

Redis的列表类型(list)可以存储一个有序的字符串列表。

  • 列表类型内部是使用双向链表实现的
  • 可以使用lpush和rpop或者rpush和lpop模拟队列的操作

1. 使用用lpush和rpop模拟队列的操作

在这里插入图片描述

127.0.0.1:6379> lpush books java
(integer) 1
127.0.0.1:6379> lpush books python
(integer) 2
127.0.0.1:6379> lpush books c++ golang
(integer) 4
127.0.0.1:6379> llen books
(integer) 4
127.0.0.1:6379> lrange books 0 -1
1) "golang"
2) "c++"
3) "python"
4) "java"
127.0.0.1:6379> rpop books
"java"
127.0.0.1:6379> rpop books
"python"
127.0.0.1:6379> llen books
(integer) 2
127.0.0.1:6379> lrange books 0 -1
1) "golang"
2) "c++"
127.0.0.1:6379> del books
(integer) 1
127.0.0.1:6379> lrange books 0 -1
(empty list or set)

1.1 lpush介绍

lpush表示从从列表左边添加元素,返回值表示增加元素后列表的长度。

127.0.0.1:6379> lpush books java
(integer) 1
127.0.0.1:6379> lpush books python
(integer) 2

lpush也可以同时添加多个元素,如

127.0.0.1:6379> lpush books c++ golang
(integer) 4

1.2 rpop介绍

rpop表示从右侧元素列表中移除元素,返回被移除的元素。

127.0.0.1:6379> rpop books
"java"

1.3 llen介绍

llen返回列表的长度

127.0.0.1:6379> llen books
(integer) 4

1.4 lrange介绍

lrange返回指定区间的元素,0代表列表的第一个元素,1代表列表的第2个元素,以此类推;也支持负数,-1代表列表的最后一个元素,-2代表列表的倒数第2个元素以此类推。

127.0.0.1:6379> lrange books 0 -1
1) "golang"
2) "c++"
3) "python"
4) "java"

1.5 del命令介绍

del删除list列表所有元素

127.0.0.1:6379> del books
(integer) 1
127.0.0.1:6379> lrange books 0 -1
(empty list or set)

2. 使用用rpush和lpop模拟队列的操作

在这里插入图片描述

127.0.0.1:6379> rpush books java
(integer) 1
127.0.0.1:6379> rpush books python c++
(integer) 3
127.0.0.1:6379> rpush books golang
(integer) 4
127.0.0.1:6379> llen books
(integer) 4
127.0.0.1:6379> lrange books 0 -1
1) "java"
2) "python"
3) "c++"
4) "golang"
127.0.0.1:6379> lpop books
"java"
127.0.0.1:6379> llen books
(integer) 3
127.0.0.1:6379> lrange books 0 -1
1) "python"
2) "c++"
3) "golang"

2.1 rpush介绍

rpush表示从从列表右边添加元素,返回值表示增加元素后列表的长度。

127.0.0.1:6379> rpush books java
(integer) 1

rpush也可以同时添加多个元素,如

127.0.0.1:6379> rpush books python c++
(integer) 3

2.2 lpop介绍

lpop表示从左侧元素列表中移除元素,返回被移除的元素。

127.0.0.1:6379> lpop books
"java"

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

相关文章

socket详解

目录 socket: 套接字的工作原理: 套接字类型: 套接字可以分为两种类型:流套接字(Socket Stream)和数据报套接字(Socket Datagram)。 创建套接字: 绑定套接字到地址和…

阿里企业邮箱服务器地址(IMAP、POP、SMTP)

阿里企业邮箱IMAP、POP、SMTP参数配置服务器地址和端口号信息,阿里云百科分享阿里邮箱各个服务器地址及端口信息: 目录 新版企业邮箱服务器地址 旧版服务器地址 中国香港地区服务器地址 新版企业邮箱服务器地址 客户端推荐以下参数配置:…

VUE L 组件化编程 ⑩②

目录 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ V u e j s Vuejs Vuejs V u e Vue Vue组件化编程 模块组件模块化组件化 模块 组件 模块化 组件化 组件定义与使用—(非单文件) 基本使用 几个注意点 …

软件测试期末速成(背题家出列!)

文章目录 一、前言二、选择题(15 X 2)1、概述2、相关概念3、黑盒测试4、白盒测试5、单元测试6、集成测试7、系统测试8、自动化测试9、实用软件测试技术 三、判断题(10 X 1’)四、简答题(4 X 5)1、软件测试生…

数组与指针--常见的内存错误及其对策(1)

目录 一、内存分配未成功就使用 二、内存分配成功了,但是尚未初始化就用 三、内存分配成功了,也初始化了,但是发生了越界使用 四、忘记了释放内存,造成了内存泄漏 五、释放内存后仍然继续使用 指针是C语言最强的特性之一&…

Ubuntu 安装 Github Desk

sudo wget https://github.com/shiftkey/desktop/releases/download/release-2.9.3-linux3/GitHubDesktop-linux-2.9.3-linux3.deb# double click to install

彻底删除spacedesk

右键 我的电脑 - 管理 - 服务和应用程序 - 服务 - 找到 “spacedeskService”并删除

安装Docker Desk

文档:安装Docker Desk.note 链接:http://note.youdao.com/noteshare?id345537ec70c571c53639c9c7b112e8b8&sub11735ADE82A54729A65CB576A0E8CFAB 此文包含安装docker desk的具体内容和解决方法