遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

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)弹出元素,即取出元素

 

 

posted @ 2023-12-04 22:55  全栈测试笔记  阅读(43)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end