1. 一些常用的列表命令
| 命令 | 用例和描述 |
| RPUSH |
RPUSH key- name value [value ...]—— 将 一个 或 多个 值 推入 列表 的 右端 |
| LPUSH |
LPUSH key- name value [value ...]—— 将 一个 或 多个 值 推入 列表 的 左端 |
| RPOP |
RPOP key- name—— 移 除 并 返回 列表 最 右端 的 元素 |
| LPOP |
LPOP key- name—— 移 除 并 返回 列表 最 左端 的 元素 |
| LINDEX |
LINDEX key- name offset—— 返回 列表 中 偏移量 为 offset 的 元素 |
| LRANGE |
LRANGE key- name start end—— 返回 列表 从 start 偏移量 到 end 偏移量 范围内 的 所有 元素, 其中 偏移量 为 start 和 偏移量 为 end 的 元素 也会 包含 在被 返回 的 元素 之内 |
| LTRIM |
LTRIM key- name start end—— 对列 表 进行 修剪, 只 保留 从 start 偏移量 到 end 偏移量 范围内 的 元素, 其中 偏移量 为 start 和 偏移量 为 end 的 元素 也会 被 保留 |
2. 阻塞式的列表弹出命令以及在列表之间移动元素的命令
以下命令可以将元素从一个列表移动到另一个列表,或者阻塞( block)执行命令的客户端直到有其他客户端给列表添加元素为止
| 命令 | 用例和描述 |
| BLPOP |
BLPOP key- name [key- name ...] timeout—— 从 第一个 非 空 列表 中弹 出 位于 最 左端 的 元素, 或者 在 timeout 秒 之内 阻塞 并 等待 可 弹出 的 元素 出现 |
| BRPOP |
BRPOP key- name [key- name ...] timeout—— 从 第一个 非 空 列表 中弹 出 位于 最 右端 的 元素, 或者 在 timeout 秒 之内 阻塞 并 等待 可 弹出 的 元素 出现 |
| RPOPLPUSH |
RPOPLPUSH source- key dest- key—— 从 source- key 列表 中弹 出 位于 最 右端 的 元素, 然后 将 这个 元素 推入 dest- key 列表 的 最 左端, 并向 用户 返回 这个 元素 |
| BRPOPLUSH |
BRPOPLPUSH source- key dest- key timeout—— 从 source- key 列表 中弹 出 位于 最 右端 的 元素, 然后 将 这个 元素 推入 dest- key 列表 的 最 左端, 并向 用户 返回 这个 元素; 如果 source- key 为 空, 那么 在 timeout 秒 之内 阻塞 并 等待 可 弹出 的 元素 出现 |
对于 阻塞 弹出 命令 和 弹出 并 推入 命令, 最 常见 的 用 例 就是 消息 传递( messaging) 和 任务 队列( task queue)
本文介绍了Redis中列表数据类型的常用操作命令,包括基本的列表增删查改命令如RPUSH、LPUSH、RPOP、LPOP等,以及更复杂的阻塞式列表弹出命令和列表间元素移动命令如BLPOP、BRPOP、RPOPLPUSH等。这些命令广泛应用于消息传递和任务队列场景。
1084

被折叠的 条评论
为什么被折叠?



