Redis入门(二)列表List

来源:互联网 发布:游戏 建模 软件 编辑:程序博客网 时间:2024/06/08 05:52

列表List

列表类型(list)可以存储一个有序的字符串列表,常用的操作是向两端添加元素,或者获得列表上的一个片段。列表类型内部是使用双向 链表实现的,所以向链表两端添加数据时间复杂度为O(1),获取越是接近两端的数据越快。不过其代价是通过索引访问元素比较慢
rpush 将给定值推入列表的右端
lpush 将给定值推入列表的左端
lrange 获取列表在给定范围上的所有值
lindex 获取列表在给定位置上的单个元素

127.0.0.1:6379> lpush numbers 1(integer) 1127.0.0.1:6379> lpush numbers 2 3(integer) 3127.0.0.1:6379> rpush numbers 0 -1(integer) 5127.0.0.1:6379> lrange numbers 0 -11) "3"2) "2"3) "1"4) "0"5) "-1"127.0.0.1:6379> lindex numbers 2"1"

lpop 从列表的左端弹出一个值,并返回被弹出的值
rpop 从列表的左端弹出一个值,并返回被弹出的值

127.0.0.1:6379> lrange numbers 0 -11) "3"2) "2"3) "1"4) "0"5) "-1"127.0.0.1:6379> lpop numbers"3"127.0.0.1:6379> lrange numbers 0 -11) "2"2) "1"3) "0"4) "-1"127.0.0.1:6379> rpop numbers"-1"127.0.0.1:6379> lrange numbers 0 -11) "2"2) "1"3) "0"


获取列表片段

127.0.0.1:6379> lrange numbers 0 -11) "2"2) "1"3) "0"127.0.0.1:6379> lrange numbers 1 21) "1"2) "0"


lrem 可以指定删除指定元素
lrem numbers -1 3  代表从右边开始,删除第一个3
lrem numbers 0 0 代表从左边开始,删除第一个0

127.0.0.1:6379> rpush numbers 1 2 3 4 5(integer) 7127.0.0.1:6379> lrange numbers 0 -11) "2"2) "0"3) "1"4) "2"5) "3"6) "4"7) "5"127.0.0.1:6379> lrem numbers -1 3(integer) 1127.0.0.1:6379> lrange numbers 0 -11) "2"2) "0"3) "1"4) "2"5) "4"6) "5"127.0.0.1:6379> lrem numbers 0 0(integer) 1127.0.0.1:6379> lrange numbers 0 -11) "2"2) "1"3) "2"4) "4"5) "5"


lset index value,可以index的位置的值修改为value

127.0.0.1:6379> lrange numbers 0 -11) "2"2) "1"3) "2"4) "4"5) "5"127.0.0.1:6379> lset numbers 1 8OK127.0.0.1:6379> lrange numbers 0 -11) "2"2) "8"3) "2"4) "4"5) "5"


linsert key  before|after  pivot value
linsert 首先会从左到右查找值为pivot元素,然后根据第二个参数是before还是after来决定将value插在之前还是之后

127.0.0.1:6379> rpush num 1 1 2 2 3 3 5(integer) 7127.0.0.1:6379> lrange num 0 -11) "1"2) "1"3) "2"4) "2"5) "3"6) "3"7) "5"127.0.0.1:6379> linsert num before 2 5(integer) 8127.0.0.1:6379> lrange num 0 -11) "1"2) "1"3) "5"4) "2"5) "2"6) "3"7) "3"8) "5"127.0.0.1:6379> linsert num after 5 6(integer) 9127.0.0.1:6379> lrange num 0 -11) "1"2) "1"3) "5"4) "6"5) "2"6) "2"7) "3"8) "3"9) "5"



0 0
原创粉丝点击