概念
列表类型内部是使用双向链表实现的。所以存在LPUSH、RPUSH、LPOP、RPOP
队列与栈
如果要把List数据类型当做栈(先进后出):
LPUSH与LPOP、RPUSH与RPOP
如果要把List数据类型当做队列(先进先出):
LPUSH 与 RPOP、RPUSH与LPOP
基本命令
PUSH与POP
LPUSH numbers 1 2 3
RPUSH numbers 4 5 6
LPOP numbers
RPOP numbers
获取元素个数
LLEN numbers
获取指定范围内的元素
LRANGE numbers 0 2 //获取索引从0-2的3个元素
删除元素
LREM numbers -1 5 //从右边开始,删除1个值为5的元素
LREM numbers 2 6 //从左边开始,删除2个值为6的元素
LREM numbers 0 7 //删除所有值为7的元素
获取、设置指定索引元素的值
获取 LINDEX
LINDEX numbers 0 //获取numbers 从左边开始的第一个数
LINDEX numbers -1 //获取numbers 从右边开始的第一个数
设置索引的值
LSET numbers 1 7 //将numbers索引为1的value设置为7
删除索引范围之外的元素
redis> LRANGE numbers 0 -1
8
4
7
6
redis> LTRIM numbers 1 2
OK
redis> LRANGE numbers 0 -1
4
7
插入一个元素(after还是before)
after
redis> LRANGE numbers 0 -1
4
7
redis> LINSERT numbers after 4 9
3
redis> LRANGE numbers 0 -1
4
9
7
before
redis> LRANGE numbers 0 -1
4
9
7
redis> LINSERT numbers before 4 9
4
redis> LRANGE numbers 0 -1
9
4
9
7
RPOPLPUSH网站监控系统
比如我们一个网站监控系统,要监控这3个网站。程序不断的使用RPOPLPUSH来取出一个网址进行监控测试。同时在监控测试的时候,仍然可以向列表中添加元素。
更多精彩,请关注公众号“聊聊代码”,让我们一起聊聊“左手代码右手诗”的事儿。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。