list是链表不是数组,故其插入和删除操作非常快,时间复杂度为O(1),但是索引定位很慢,时间复杂度为O(n)。
一、队列
> rpush numbers one two three
(integer) 3
> llen numbers
(integer) 3
> lpop numbers
"one"
> lpop numbers
"two"
> lpop numbers
"three"
> lpop numbers
(nil)
队列是先进先出的数据结构,常用语消息排队和异步逻辑处理。
二、栈
> rpush numbers one two three
(integer) 3
> rpop numbers
"three"
> rpop numbers
"two"
> rpop numbers
"one"
> rpop numbers
(nil)
栈是先进先出的数据结构。用reids列表数据结构来做栈的业务场景并不多见。
三、其他操作
这里的其他操作都是操作效率比较低的操作。
1、lindex
可以使用lindex对列表进行遍历,但是其性能将随着参数lindex的增大而变差
> rpush numbers one two three
(