使用 LPUSH 和 LRANGE 处理列表
在这一步中,我们将探索如何使用 Redis 列表来存储和检索数据的有序集合。Redis 列表被实现为链表(linked lists),这使得它们在列表的开头或结尾添加和删除元素时非常高效。我们将重点关注 LPUSH
和 LRANGE
命令。
我们将继续使用 redis-cli
命令行工具。如果你尚未连接,请在 LabEx 虚拟机(VM)中打开一个终端并输入:
redis-cli
现在,让我们创建一个列表并使用 LPUSH
命令向其中添加一些元素。LPUSH
将元素添加到列表的左侧(头部)。LPUSH
命令接受两个或多个参数:列表的键(key)和要添加的值(value)。让我们创建一个名为 mylist
的列表,并添加值 item1
、item2
和 item3
:
LPUSH mylist item1
你应该看到以下输出:
(integer) 1
这意味着已将一个元素添加到列表中。LPUSH
的返回值是操作后列表的长度。
现在,让我们添加其他项目:
LPUSH mylist item2
(integer) 2
LPUSH mylist item3
(integer) 3
现在,让我们使用 LRANGE
命令检索列表的元素。LRANGE
返回列表中某个范围内的元素。LRANGE
命令接受三个参数:列表的键(key)、起始索引(start index)和结束索引(end index)。索引是基于 0 的,因此第一个元素位于索引 0 处。要检索列表的所有元素,我们可以使用起始索引 0 和结束索引 -1。
LRANGE mylist 0 -1
你应该看到以下输出:
1) "item3"
2) "item2"
3) "item1"
请注意,这些元素以我们添加它们的相反顺序返回,因为 LPUSH
将元素添加到列表的开头。
让我们向列表中添加更多项目:
LPUSH mylist item4
LPUSH mylist item5
现在,让我们检索列表的前 3 个元素(索引 0 到 2):
LRANGE mylist 0 2
你应该看到:
1) "item5"
2) "item4"
3) "item3"
你还可以使用负索引从列表末尾访问元素。例如,要检索列表的最后一个元素,可以使用索引 -1:
LRANGE mylist -1 -1
你应该看到:
1) "item1"
记住退出 redis-cli
以确保你的命令被记录。输入:
exit
这将使你返回到常规终端提示符。