redis数据库中选取链表作为list的基础,没有使用数组。

 List的使用环境:

1、做大数据集合的增删

2、做任务队列。(文章结尾的一条命令,诠释经典)

 

取值操作:

lrange key start end 表示链表中从start到end的元素值,start、end从0开始计数;也可为负数,若为-1 则表示链表尾部的元素,-2则表示倒数第二个

如果每次想去获取list里面的所有元素,直接可以采用 lrange list 0 -1

redis 清除所有列表 redis清空list_redis 清除所有列表

赋值操作:

lpush  key values

rpush  key values

redis 清除所有列表 redis清空list_数据集_02

 

删除操作:

lpop key 从头部弹出

rpop key 从尾部弹出

如果删除干净了,redis就没有了,会提示(empty list or set)

redis 清除所有列表 redis清空list_链表_03

其他命令

llen key : 获取列表中key关联的链表中的元素的数量

lrem key count value   例如:删除链表职工所有的a元素,lrem list 0 a    lrem list  -2 b 从尾部向头部删除2个b  此命令不建议使用

del list  删除元素

lset key index value 通过索引替换元素

redis 清除所有列表 redis清空list_链表_04

linsert key before/after  ***  &&&     在***元素前/后 插入 &&&

redis 清除所有列表 redis清空list_链表_05

rpoplpush list1 list2  经典命令,要求把list1的右边元素弹出,同时把弹出的元素插入list2左边

那么就会想到,我们的循环任务,直接使用rpoplpush list1 list1 是不是就可以了?

redis 清除所有列表 redis清空list_数据集_06