小蚂蚁学习Redis笔记(5)——Redis数据类型之list类型

Redis之lists类型以及操作

    list是一个链表结构,主要功能是push、pop,获取一个范围的所有值等等。操作中key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,也可以作为队列。

    栈和队列的特性    栈:先进后出;队列:先进先出。


1.    lpush    为链表的头部添加字符串元素

    格式:    lpush    mylist1    "allen"

    含义:在链表mylist1中,从头部添加一个元素allen

2.    lrange    列出链表中的元素

    格式:    lrange    mylist1    0    -1

    含义:    列出链表mylist1中,从第一个到最后一个元素。0,表示从头开始的第一个元素。-1,表示尾部的第一个元素,整个的意思就是从头取到尾。

3.    rpush    从尾部压入元素

    格式:    rpush    mylist1    “age”

    含义:    为链表mylist1,从尾部压入一个元素age。

ps:切记一点,指向头的方向为前。

4.    lset    设置list中指定下标的元素值。

    格式:    lset    mylist1    0    “frank”

    含义:    为链表mylist1,下标为0的元素,值修改为frank。

    注意:    下标是从头开始的。成功返回OK,下标不存在:(error) ERR index out of range

5.    lrem    从链表中删除N个和给定值一样的元素。

    格式:    lrem    mylist1    2    allen

    含义:    从链表mylist1中,删掉2个值为allen的元素。

    注意:    是从头部依次往下删除的。删除成功:返回删除掉的个数;删除失败返回0。

    注意的注意:    如果n小于0,表示从尾部开始删除;n=0,代表全部删除。

6.    ltrim    保留指定key的值范围内的数据。

    格式:    ltrim    mylist1    1    2

    含义:    保留链表mylist1中下标1到下标2之间的所有元素,这个区间之外的元素都删掉了。

    注意:    这是保留其中的数据,不在其中的就会删掉。删除成功返回OK。如果下标不存在,就会把整个链表清空。

7.    lpop    从头部弹出一个元素

    格式:    lpop    mylist1   

    含义:    从链表mylist1的头部弹出一个元素。返回值是弹出元素的值。

8.    rpop    从尾部弹出一个元素

    格式:    rpop    mylist1

    含义:    从链表mylist1的尾部弹出一个元素。返回值是弹出元素的值。

9.    rpoplpush    从第一个list的尾部弹出一个元素,然后添加到第二个list的头部。

    格式:    rpoplpush    mylist1    mylist2

    含义:    从链表mylist1的尾部弹出一个元素,然后添加到第二个链表mylist2的头部。

    举例:   

        127.0.0.1:6379> LRANGE mylist1 0 -1

        1) "age"

        2) "allen"

        127.0.0.1:6379> LRANGE mylist2 0 -1

        1) "sex"

        127.0.0.1:6379> rpoplpush mylist1 mylist2

        "allen"

        127.0.0.1:6379> LRANGE mylist1 0 -1

        1) "age"

        127.0.0.1:6379> LRANGE mylist2 0 -1

        1) "allen"

        2) "sex"

    由例子同时可以知道,返回值是弹出的那个值。

10.    lindex    指定下标,返回对应的元素。

    格式:    lindex    mylist2    2

    含义:    把链表2中下标为2的元素返回。

11.    llen    返回链表中元素的个数。

    格式:    llen    mylist2

    含义:    查看链表mylist2中的元素个数。

    

学PHP的小蚂蚁 原创博客 http://my.oschina.net/woshixiaomayi/blog



你可能感兴趣的:(redis)