三:redis的List類型相關操作,redislist

來源:互聯網
上載者:User

三:redis的List類型相關操作,redislist
==========================三種:List類型=====================
    介紹:list類型及操作
          list是一個連結資料表結果,只要功能是push,pop、擷取一個範圍的所有值等等,
          操作key理解為鏈表的名字,redis的list類型其實就是一個每個子項目都是string類型的雙向鏈表。
          我們可以通過push、pop操作從鏈表的頭部或者尾部添加刪除元素,這樣list既可以作為棧,又可以作為隊列
          
    1:lpush:
            在key對應list的頭部添加字串元素 (先進後去,類似棧)
            例:lpush list1 "hello"       
                lpush list1 "world"
            取值:lrange list1 0 -1    -->從頭取到尾,list1裡面的全部去出來來
    2:rpush
            在key對應list的尾部添加字串元素(先進先去,類似隊列)
            例:rpush list2 "le"
                rpush list2 "yangjun"
            取:lrange list2 0 -1    -->le yangjun值
    3:linsert:
            在key對應list的特定位置前或後添加字串
            例:lpush list3 "one"
                lpush list3 "two"
                linsert list3 before one three     --->在 one和two之間壓入一個three
                lrange list2 0 -1      
    4:Lset:
            設定list中指定下標元素的值
            例:lpush list5 one
                lpush list5 two
                lset list5 1 "four"    ---->吧下表為1的值改為 four
    5:lrem:刪除相同元素的值
            從key對應list中刪除n個和value相同的元素(n<0從尾刪除,n=0全部刪除)
            例:lpush list5 one
                lpush list5 one
                lrem lise5 1 "one"    --->1表示刪除幾個,從list5中刪除一個one相同的元素,就剩下一個one
                lrem lise5 0 "one"    --->全刪
    6:ltrim:
            保留指定key的值範圍內的資料
            例:lpush list6 one
                lpush list6 two
                lpush list6 three
                ltrim list6 1 -1   -->保留下標為1 -1的值,其他全部刪除
                ltrim list6 1 2       --->保留下標為1和2的,其他刪除
    7:lpop:
            從list的頭部刪除元素,並返回刪除元素
            例:rpush list8 one
                rpush list8 two
                lpop list8          -->把one彈出,也就是刪除,只留下two
    8:rpop:
            從list的尾部刪除元素,並返回刪除元素
            例:rpush list8 one
                rpush list8 two
                rpop list8        --->尾部彈出two,只剩下one
    9:rpoplpush:
            從第一個list的尾部移除元素並添加到第二個list的頭部
            例:list9:three,hello    list10:hello,foo
                rpoplpush list9 list10    --->吧hello從list9的尾部並吧hello從頭部壓入list10
                                               list10=hello、hello、foo
    10:lindex:
                返回名稱為key的list中index位置的元素
                例:list11:three,two,one
                    lindex list11 0    --->找出下表為0的元素->three
    11:llen:
            返回key對應list的長度
            例:llen list11     -->有幾個元素就返回幾  比如就一個there就返回1
    ========================================END========================================
   

java list中的資料怎麼讀到redis中建議使用javaredis 用戶端進行操作
https://github.com/xetorthio/jedis
redis是什麼rediskey-value儲存系統和Memcached類似支援儲存value類型相對更多包括string(字串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(雜湊類型)些資料類型都支援push/pop、add/remove及取交集並集和差集及更豐富操作而且些操作都原子性此基礎上redis支援各種同方式排序與memcached樣了保證效率資料都緩衝記憶體區別redis會周期性把更新資料寫入磁碟或者把修改操作寫入追加記錄檔案並且此基礎上實現了master-slave(主從)同步
Redis 高效能key-value資料庫 redis出現大程度補償了memcached類key/value儲存足部 分場合對關聯式資料庫起好補充作用提供了PythonRubyErlangPHP用戶端使用方便
redis提供五種資料類型:stringhashlistset及zset(sorted set)
redis使用了兩種檔案格式:全量資料和增量請求

相關文章

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.