List类型

List类型是一个链表结构的集合,其主要功能有push(从链表尾部插入一个元素)、pop(从链表头部移除一个元素)、获取元素等。更详细的说,List类型是一个双端链表的结构,我们可以通过相关操作进行集合的头部或者尾部添加删除元素,list的设计非常简单精巧,既可以作为栈,又可以作为队列。满足绝大多数需求。

redis中list类型允许元素重复,而set类型不允许元素重复

lpush方法:从头部加入元素(栈)先进后出

形如:lpush list1 "hello"

           lpush list1 "world"

           lrange list1 0 -1(表示从头取到末尾)(0到负1)

rpush方法:从尾部加入元素(队列)先进先出

形如:rpush list2 "beijing"

            rpush list2 "tiananmen"

            lrange list2 0 -1

linsert方法:插入元素

形如:linsert list3 before [集合的元素][插入的元素]

举例:

lpush list3 "one"

lpush list3 "two"

linset list3 before "one" "three"

lrange list3 0 -1

结果为:

1) two

2) three

3) one

lset方法:将指定下表的元素替换掉

举例:

命令:rpush list4 "bei"

命令:rpush list4 "jing"

命令:lrange list4 0 -1

结果:1) "bei"

            2) "jing"

命令:lset list4 0 "b"

命令:lset list4 1 "j"

命令:lrange list4 0 -1

结果:1) "b"

            2) "j"

lrem方法:删除元素 返回删除的个数

命令:lrange list5 0 -1

结果:1) "b"

           2) "jing"

           3) "b"

           4) "b"

           5) "jing"

命令:lrem list5 2 "b"

命令: lrange list5 0 -1

结果:1) "jing"

           2) "b"

           3) "jing"

ltrim方法:保留指定key的值范围内的数据

命令:lrange list6 0 -1

结果:1) "one"

           2) "two"

           3) "three"

           4) "four"

命令:ltrim list6 2 3

命令:lrange list6 0 -1

结果:1) "three"

           2) "four"

lpop方法:从list的头部删除元素,并返回删除元素

rpop方法:从list的尾部删除元素,并返回删除元素

举例:

命令:lrange list7 0 -1

结果:1) "python"

           2) "php"

           3) "C#"

           4) "java"

命令:lpop list7 

返回结果:"python"

命令:rpop list7

放回结果:"java"

命令:lrange list7 0 -1

结果:1) "php"

           2) "C#"

rpoplpush方法:第一步从尾部删除元素,然后第二步并从头部加入元素

lindex方法:返回名称为key的list中index位置的元素

llen方法:返回元素的个数

举例:

命令:lrange list8 0 -1

结果:1) "a"

           2)  "b"

           3) "c"

           4) "d"

           5) "e"

命令:rpoplpush list8 list8

返回结果:"e"

命令:lrange list8 0 -1

结果:1) "e"

           2) "a"

           3) "b"

           4) "c" 

           5) "d"

命令:lindex list8 1

返回结果:"a"

命令:llen list8

返回结果:5

 

你可能感兴趣的:(Redis)