1

概念

image_1au5diveerhd1vuhv21cae1ndn9.png-231.8kB

列表类型内部是使用双向链表实现的。所以存在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的元素

image_1au5eh9b21qpr1cam1ttani25nd1a.png-70.3kB

获取、设置指定索引元素的值

获取 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来取出一个网址进行监控测试。同时在监控测试的时候,仍然可以向列表中添加元素。
image_1au5gf5rqjis8dj10jobq31h5e1n.png-135.8kB

更多精彩,请关注公众号“聊聊代码”,让我们一起聊聊“左手代码右手诗”的事儿。
图片描述


zilu
1.3k 声望175 粉丝