redis系列(05):List类型操作
本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10950727.html
Redis中,List类型是按照插入顺序排序的字符串链表,和数据结构中的普通链表一样,
如果是在链表的两头插入或删除元素,这将会是非常高效的操作
如果元素插入或删除操作 是作用于链表中间,那将会是非常低效的
List中可以包含的最大元素数量是 4294967295
应用场景:mq、有序列表
lpush、lrange、lpushx
lpush
创建键test及与其关联的List,然后将参数中的values从左到右依次插入
可以通过type查看数据类型
lrange
获取从位置0开始到位置2结束的3个元素
获取链表中的全部元素,其中0表示第一个元素,1表示最后一个元素
获取从倒数第3个到倒数第2个的元素
lpushx,表示键存在时才能插入
如果键不存在,命令将不会进行任何操作,其返回值为0
可以看到test2没有关联任何List Value
test键此时已经存在,所以该命令插入成功,并返回链表中当前元素的数量
获取该键的List中的第一个元素
lpop、llen
lpop,取出链表头部的元素
llen,列表长度
lrem、lindex、lset、ltrim
lrem,从头部(left)向尾部(right)操作链表
查看删除后链表中的全部元素
lindex,根据索引获取值
获取索引值为1(头部的第二个元素)的元素值
lset
将索引值为1(头部的第二个元素)的元素值设置为新值w
索引值6超过了链表中元素的数量,该命令返回nil
设置的索引值6超过了链表中元素的数量,设置失败,该命令返回错误信息
ltrim
仅保留索引值0到2之间的3个元素,注意第0个和第2个元素均被保留
linsert、rpop
linsert
在a的前面插入新元素a0
在e的后面插入新元素e2,从返回结果看已经插入成功
在不存在的元素之前或之后插入新元素,该命令操作失败,并返回1
为不存在的Key插入新元素,该命令操作失败,返回0
rpop
从尾部(right)弹出元素,即取出元素
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!