redis list命令操作

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 1.将值追加到列表 RPUSH key value [value ...] summary: Append one or multiple values to a list since: 1.0.0 127.0.0.1:6379> RPUSH mylist value1 value2 value3 (integer) 3 2.获取列表的长度 LLEN key summ
1.将值追加到列表
RPUSH key value [value ...]
summary: Append one or multiple values to a list
since: 1.0.0
127.0.0.1:6379> RPUSH mylist value1 value2 value3
(integer) 3


2.获取列表的长度
LLEN key
summary: Get the length of a list
since: 1.0.0


127.0.0.1:6379> llen mylist
(integer) 3


3.获取并移除列表中第一个元素
BLPOP key [key ...] timeout
summary: Remove and get the first element in a list, or block until one is available
since: 2.0.0


127.0.0.1:6379> blpop mylist 3
1) "mylist" ##列表key
2) "value1" #列表当前第一个值
127.0.0.1:6379> blpop mylist 3
1) "mylist"
2) "value2"
127.0.0.1:6379> blpop mylist 3
1) "mylist"
2) "value3"
127.0.0.1:6379> blpop mylist 3 列表已经不存在value


(nil)
(3.78s)


4.获取并移除列表中的最后一个元素
BRPOP key [key ...] timeout
summary: Remove and get the last element in a list, or block until one is available
since: 2.0.0
127.0.0.1:6379> brpop list1 3
1) "list1" #列表键名
2) "value3" #列表最后一个值


5.出栈list中的一个value,并放入另一个list中,并返回该值
BRPOPLPUSH source destination timeout
summary: Pop a value from a list, push it to another list and return it; or block until one is available
since: 2.2.0


127.0.0.1:6379> BRPOPLPUSH list1 list2 3
"value2"


6.获取指定位置的value值,返回的是该位置的值,无值或超出边界返回nil
LINDEX key index
summary: Get an element from a list by its index
since: 1.0.0


7.在列表一个元素的之前或之后插入一个元素,返回当前列表的长度
LINSERT key BEFORE|AFTER pivot value
summary: Insert an element before or after another element in a list
since: 2.2.0
127.0.0.1:6379> linsert ml before v2 value2
(integer) 5  在v2之前插入值value2


8.栈顶元素出栈
LPOP key
summary: Remove and get the first element in a list
since: 1.0.0
127.0.0.1:6379> lpop ml
"v1"


9.向list中添加一个或多个value,后加入的值,index在前(将元素压入栈顶)
LPUSH key value [value ...]
summary: Prepend one or multiple values to a list
since: 1.0.0
127.0.0.1:6379> lpush list2 val1 val2 val3 val4 val5
(integer) 6
127.0.0.1:6379> lindex list2 0
"val5"


10.只有当列表存在时,才从栈顶压入元素
LPUSHX key value
summary: Prepend a value to a list, only if the list exists
since: 2.2.0


11.获取指定范围的list的value值
LRANGE key start stop
summary: Get a range of elements from a list
since: 1.0.0


12.从列表中移除元素(当list中存在多个重复的值时,count确定要移除几个value)
LREM key count value
summary: Remove elements from a list
since: 1.0.0


13.通过元素的索引index设置value
LSET key index value
summary: Set the value of an element in a list by its index
since: 1.0.0
127.0.0.1:6379> lset list2 3 namew #修改第三个位置的值
OK


14. 
LTRIM key start stop
summary: Trim a list to the specified range
since: 1.0.0


15.移除并获取列表中的最后一个元素
RPOP key
summary: Remove and get the last element in a list
since: 1.0.0


16.移除列表中的最后一个元素,追加到另一个列表中,并返回该值
RPOPLPUSH source destination
summary: Remove the last element in a list, append it to another list and return it
since: 1.2.0




17.将值追加到列表中,只有当这个列表已经存在
RPUSHX key value
summary: Append a value to a list, only if the list exists
since: 2.2.0

















相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
7天前
|
NoSQL 应用服务中间件 API
Redis是如何建立连接和处理命令的
本文主要讲述 Redis 是如何监听客户端发出的set、get等命令的。
|
1月前
|
存储 消息中间件 NoSQL
Redis数据结构:List类型全面解析
Redis数据结构——List类型全面解析:存储多个有序的字符串,列表中每个字符串成为元素 Eelement,最多可以存储 2^32-1 个元素。可对列表两端插入(push)和弹出(pop)、获取指定范围的元素列表等,常见命令。 底层数据结构:3.2版本之前,底层采用**压缩链表ZipList**和**双向链表LinkedList**;3.2版本之后,底层数据结构为**快速链表QuickList** 列表是一种比较灵活的数据结构,可以充当栈、队列、阻塞队列,在实际开发中有很多应用场景。
|
2月前
|
NoSQL 关系型数据库 MySQL
Redis 列表(List)
10月更文挑战第16天
33 2
|
2月前
|
消息中间件 存储 监控
redis 的List类型 实现 排行榜
【10月更文挑战第8天】
47 2
|
1月前
|
存储 NoSQL Java
Redis命令:列表模糊删除详解
通过本文的介绍,我们详细探讨了如何在Redis中实现列表的模糊删除。虽然Redis没有直接提供模糊删除命令,但可以通过组合使用 `LRANGE`和 `LREM`命令,并在客户端代码中进行模糊匹配,来实现这一功能。希望本文能帮助你在实际应用中更有效地操作Redis列表。
70 0
|
2月前
|
缓存 NoSQL 测试技术
Redis如何解决频繁的命令往返造成的性能瓶颈!
Redis如何解决频繁的命令往返造成的性能瓶颈!
|
2月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
29 3
|
2月前
|
NoSQL Redis 数据安全/隐私保护
Redis 命令
10月更文挑战第15天
41 0
|
7天前
|
存储 缓存 NoSQL
解决Redis缓存数据类型丢失问题
解决Redis缓存数据类型丢失问题
131 85
|
2月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
84 6