小螞蟻學習Redis筆記(5)——Redis資料類型之list類型

來源:互聯網
上載者:User

標籤:

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筆記(5)——Redis資料類型之list類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.