③【List】Redis常用数据类型: List [使用手册]

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~

个人主页:.29.的博客

学习社区:进去逛一逛~

Redis List

  • [③Redis List 操作命令汇总](#③Redis List 操作命令汇总)
      • [1. lpush 将一个或多个值插入列表头部](#1. lpush 将一个或多个值插入列表头部)
      • [2. lpop 移出并获得列表的第一个元素(可指定移出的个数)](#2. lpop 移出并获得列表的第一个元素(可指定移出的个数))
      • [3. lrange 查看指定区间范围的列表元素](#3. lrange 查看指定区间范围的列表元素)
      • [4. rpush 将一个或多个值插入列表尾部](#4. rpush 将一个或多个值插入列表尾部)
      • [5. rpop 移出并获取列表最后一个元素(可指定移出的个数)](#5. rpop 移出并获取列表最后一个元素(可指定移出的个数))
      • [6. lindex 根据索引下标获取元素(由上到下)](#6. lindex 根据索引下标获取元素(由上到下))
      • [7. llen 获取指定列表的元素个数](#7. llen 获取指定列表的元素个数)
      • [8.lrem 删除列表中一个或多个指定元素](#8.lrem 删除列表中一个或多个指定元素)
      • [9. ltrim 指定索引区间,对列表进行修剪(保留区间内元素)](#9. ltrim 指定索引区间,对列表进行修剪(保留区间内元素))
      • [10. rpoplpush 移出列表最后元素,将其添加至另一列表](#10. rpoplpush 移出列表最后元素,将其添加至另一列表)
      • [11. lset 通过索引设置列表元素的值](#11. lset 通过索引设置列表元素的值)
      • [12. linsert 在列表的元素前或后插入元素](#12. linsert 在列表的元素前或后插入元素)

③Redis List 操作命令汇总


  • redis列表是简单的字符串列表,可添加元素至表头表尾
  • 底层实际是个双端链表,最多可包含2^32-1个元素(4294967295)

1. lpush 将一个或多个值插入列表头部

lpush key element [element ...]

bash 复制代码
# 将1-5的值插入列表list1的头部
lpush list1 1 2 3 4 5

2. lpop 移出并获得列表的第一个元素(可指定移出的个数)

lpop key [count]

bash 复制代码
# 移出并获得列表的第一个元素
lpop list1
# 移出并获得列表的前三个元素
lpop list1 3

3. lrange 查看指定区间范围的列表元素

lrange key start stop

bash 复制代码
# 查看列表所有下标范围的元素
lrange list1 0 -1
# 查看列表下标0-3范围的元素
lrange list1 0 3

4. rpush 将一个或多个值插入列表尾部

rpush key element [element ...]

bash 复制代码
# 向列表尾部插入三个x,返回当前列表元素个数
rpush list1 x x x

5. rpop 移出并获取列表最后一个元素(可指定移出的个数)

rpop key [count]

bash 复制代码
# 移出列表list1最后一个元素,展示
rpop list1
# 移出列表list1最后五个元素,展示
rpop list1 5

6. lindex 根据索引下标获取元素(由上到下)

lindex key index

bash 复制代码
# 获取指定下标的元素,索引由列表头至列表尾,即:由上到下
lindex list1 0
lindex list1 1
lindex list1 2
lindex list1 3

7. llen 获取指定列表的元素个数

llen key

bash 复制代码
llen list1

8.lrem 删除列表中一个或多个指定元素

lrem key count element

bash 复制代码
# 删除列表list2中1个值为a的元素
lrem list2 1 a
# 删除列表list2中4个值为d的元素
lrem list2 4 d

9. ltrim 指定索引区间,对列表进行修剪(保留区间内元素)

ltrim key start stop

bash 复制代码
# 对列表list2进行修剪,保留0-2索引下标范围的元素
ltrim list2 0 2

10. rpoplpush 移出列表最后元素,将其添加至另一列表

rpoplpush source destination

bash 复制代码
# 移出列表list1最后元素,将其添加至列表list2
rpoplpush list1 list2

11. lset 通过索引设置列表元素的值

lset key index element

bash 复制代码
# 将索引下标为1的元素值改为JavaEE
lset list3 1 JavaEE

12. linsert 在列表的元素前或后插入元素

linsert key BEFORE|AFTER pivot element

bash 复制代码
# 在列表某个已有值的前后再添加具体值
linsert list3 before Python PHP
linsert list3 after c++ c#

相关推荐
用户3169353811832 天前
Java连接Redis
redis
倔强的石头_2 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab3 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
Darling噜啦啦3 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
ClouGence3 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神3 天前
三、用户与权限管理
数据库·mysql
小小工匠4 天前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
玖玥拾4 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
麦聪聊数据4 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_4 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化