Redis中的list命令怎么使用
这篇文章主要介绍“Redis中的list命令怎么使用”,在日常操作中,相信很多人在Redis中的list命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis中的list命令怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
list的数据结构List类型是一个双端链表
的结构,容量是2的32次方减1个元素,即40多亿个;其主要功能有push、pop、获取元素等;一般应用在栈、队列、消息队列
等场景。
[l/r]push-左/右添加元素
语法:[l/r]push key value [value ...]
以头插或尾插方式插入指定key队列中一个或多个元素
127.0.0.1:6379>lpushpushkey123(integer)3127.0.0.1:6379>lpushpushkey4(integer)4127.0.0.1:6379>rpushpushkey5(integer)5127.0.0.1:6379>lrangepushkey0-11)"4"2)"3"3)"2"4)"1"5)"5"
lrange-查询范围元素
语法: lrange key start stop
获取列表指定范围内的元素
127.0.0.1:6379>lpushproducts123(integer)3127.0.0.1:6379>lpushproducts456(integer)6127.0.0.1:6379>lrangeproducts0-11)"6"2)"5"3)"4"4)"3"5)"2"6)"1"
linsert-在某元素前后插入元素
语法:linsert key BEFORE|AFTER pivot value
在列表的元素前或者后插入元素
127.0.0.1:6379>lrangeproducts0-11)"6"2)"5"3)"4"4)"3"5)"2"6)"1"127.0.0.1:6379>linsertproductsbefore5a(integer)7127.0.0.1:6379>lrangeproducts0-11)"6"2)"a"3)"5"4)"4"5)"3"6)"2"7)"1"127.0.0.1:6379>linsertproductsafterab(integer)8127.0.0.1:6379>lrangeproducts0-11)"6"2)"a"3)"b"4)"5"5)"4"6)"3"7)"2"8)"1"
llen-获取长度
语法:llen key
获取列表长度
127.0.0.1:6379>lrangeproducts0-11)"6"2)"a"3)"b"4)"5"5)"4"6)"3"7)"2"8)"1"127.0.0.1:6379>llenproducts(integer)8
lindex-根据下标获取元素
语法:lindex key index
通过索引获取列表中的元素
127.0.0.1:6379>lrangeproducts0-11)"6"2)"a"3)"b"4)"5"5)"4"6)"3"7)"2"8)"1"127.0.0.1:6379>lindexproducts2"b"
lset-根据下标设置值
语法:lset key index value
通过索引设置列表元素的值
127.0.0.1:6379>lrangeproducts0-11)"6"2)"a"3)"b"4)"5"5)"4"6)"3"7)"2"8)"1"127.0.0.1:6379>lsetproducts2BOK127.0.0.1:6379>lrangeproducts0-11)"6"2)"a"3)"B"4)"5"5)"4"6)"3"7)"2"8)"1"
ltrim-截取元素
语法:ltrim key start end
截取队列指定区间的元素,其余元素都删除
127.0.0.1:6379>lrangeproducts0-11)"6"2)"a"3)"B"4)"5"5)"4"6)"3"7)"2"8)"1"127.0.0.1:6379>ltrimproducts03OK127.0.0.1:6379>lrangeproducts0-11)"6"2)"a"3)"B"4)"5"
lrem-移除元素
语法:lrem key count value
移除列表元素
127.0.0.1:6379>lpushtesta1a2a3a456(integer)10127.0.0.1:6379>lrangetest0-11)"6"2)"5"3)"4"4)"a"5)"3"6)"a"7)"2"8)"a"9)"1"10)"a"127.0.0.1:6379>lremtest3a(integer)4127.0.0.1:6379>lrangetest0-11)"6"2)"5"3)"4"4)"3"5)"2"6)"1"7)"a"
[l/r]pop-从左/右弹出元素
语法:[l/r]pop key
从队列的头或尾弹出节点元素(返回该元素并从队列中删除)
127.0.0.1:6379>lrangetest0-11)"6"2)"5"3)"4"4)"3"5)"2"6)"1"127.0.0.1:6379>lpoptest"6"127.0.0.1:6379>lrangetest0-11)"5"2)"4"3)"3"4)"2"5)"1"127.0.0.1:6379>rpoptest"1"127.0.0.1:6379>lrangetest0-11)"5"2)"4"3)"3"4)"2"
rpoplpush-移除右元素添加到另一列表左
语法:rpoplpush source destination
移除列表的最后一个元素(右),并将该元素添加到另一个列表(左)并返回
127.0.0.1:6379>lpushsrc123(integer)3127.0.0.1:6379>lrangesrc0-11)"3"2)"2"3)"1"127.0.0.1:6379>lpushdstabc(integer)3127.0.0.1:6379>lrangedst0-11)"c"2)"b"3)"a"127.0.0.1:6379>rpoplpushsrcdst"1"127.0.0.1:6379>lrangesrc0-11)"3"2)"2"127.0.0.1:6379>lrangedst0-11)"1"2)"c"3)"b"4)"a"
b[l/r]pop-阻塞弹出左/右一个元素
语法: b[l/r]pop key1 [key2 ...] timeout
移出并获取列表的第一个或最后一个元素, 如果列表没有元素会阻塞列表
直到等待超时
或发现
可弹出元素为止。
127.0.0.1:6379>lpushlist112(integer)2127.0.0.1:6379>lpushlist2ab(integer)2127.0.0.1:6379>lrangelist10-11)"2"2)"1"127.0.0.1:6379>lrangelist20-11)"b"2)"a"127.0.0.1:6379>blpoplist1list2101)"list1"#弹出元素所属的列表2)"2"#弹出元素所属的值127.0.0.1:6379>blpoplist1list2101)"list1"2)"1"127.0.0.1:6379>blpoplist1list2101)"list2"2)"b"127.0.0.1:6379>blpoplist1list2101)"list2"2)"a"127.0.0.1:6379>blpoplist1list210(nil)(10.08s)#列表为空的时候,就等待超时10秒
到此,关于“Redis中的list命令怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。