- 2021-05-17更新:增加了
LPOP/RPOP的count参数。
前文中我们已经介绍了Redis中有关于字符串的操作命令,以及一些对键值对操作的命令。在本文中,我们将介绍一种新类型的相关命令——列表(List)。列表是编程中非常常用的一种数据结构,通常有线性表(数组)与链表两种的实现。在Redis中,列表便是使用链表进行实现。由于篇幅的问题,列表的命令将分为两篇文章进行介绍。
LPUSH / RPUSH
LPUSH与RPUSH命令用于将元素插入队列中,并在Redis 2.4以上版本支持一次将一个或多个元素插入队列中。两个命令的区别为LPUSH将新元素插入到队列的队首位置,而RPUSH命令将元素插入到队尾位置。命令执行后将返回插入元素后队列的长度。当键不存在,将创建一个空白的队列并执行插入操作;若键存在但不为队列,将返回错误。
LPUSH key element [element ...]
RPUSH key element [element ...]
当使用LPUSH插入多个元素时,将逐个将元素插入到队首。如插入a、b、c后,队列中的顺序为c、b、a。
当使用RPUSH插入多个元素时,将逐个将元素插入到队尾。如插入a、b、c后,队列中的顺序为a、b、c。
示例
使用LPUSH插入元素:
redis> LPUSH cards "0001" "0002"
(integer) 2
redis> LRANGE cards 0 -1
1) "0002"
2) "0001"
redis> LPUSH cards "0003"
(integer) 3
redis> LRANGE cards 0 -1
1) "0003"
2) "0002"
3) "0001"
使用RPUSH插入元素:
redis> RPUSH cards "0001" "0002"
(integer) 2
redis> LRANGE cards 0 -1
1) "0001"
2) "0002"
redis> LPUSH cards "0003"
(integer) 3
redis> LRANGE cards 0 -1
1) "0001"
2) "0002"
3) "0003"
已存在的键不为列表:
redis> SET greeting "hello world"
OK
redis&

本文介绍了Redis中列表数据类型的命令,包括LPUSH/RPUSH(插入元素到队首/队尾)、LLEN(获取列表长度)、LRANGE(获取指定范围元素)、LPOP/RPOP(移除并返回首/尾元素)、LINDEX(获取指定索引元素)、LSET(设置指定索引元素)、LINSERT(在指定元素前/后插入)和LREM(移除指定数量的元素)。文章通过实例展示了每个命令的用法。
最低0.47元/天 解锁文章
1429

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



