乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      redis基本操作 —— list

       Coder編程 2022-03-20

      Redis列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)

      一個列表最多可以包含 232 - 1 個元素 (4294967295, 每個列表超過40億個元素)。

       

      一、將一個或多個值插入到列表頭部

        命令:lpush

        格式:lpush key value1 [value2] ...

      127.0.0.1:6379> lpush list_key 1
      (integer) 1
      127.0.0.1:6379> lpush list_key 2 3 4
      (integer) 4

      二、獲取列表指定范圍內的元素

        命令:lrange

        格式:lrange key begin_index end_index

      127.0.0.1:6379> lpush list_key 1
      (integer) 1
      127.0.0.1:6379> lpush list_key 2 3 4
      (integer) 4
      127.0.0.1:6379> lrange list_key 0 1
      1) "4"
      2) "3"
      127.0.0.1:6379> lrange list_key 0 0
      1) "4"
      127.0.0.1:6379> lrange list_key 2 3
      1) "2"
      2) "1"
      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "3"
      3) "2"
      4) "1"

      三、將一個值插入到已存在的列表頭部

        命令:lpushx

        格式:lpushx key value

      127.0.0.1:6379> del list_key
      (integer) 1
      127.0.0.1:6379> lrange list_key 0 10
      (empty list or set)
      127.0.0.1:6379> lpushx list_key 1
      (integer) 0
      127.0.0.1:6379> lrange list_key 0 10
      (empty list or set)
      127.0.0.1:6379> lpush list_key 1
      (integer) 1
      127.0.0.1:6379> lrange list_key 0 10
      1) "1"
      127.0.0.1:6379> lpushx list_key 2
      (integer) 2
      127.0.0.1:6379> lrange list_key 0 10
      1) "2"
      2) "1"

      四、將一個或多個值插入到列表尾部

        命令:rpush

        格式:rpush key value1 [value2] ...

      127.0.0.1:6379> lrange list_key 0 10
      1) "2"
      2) "1"
      127.0.0.1:6379> lpush list_key 3
      (integer) 3
      127.0.0.1:6379> lrange list_key 0 10
      1) "3"
      2) "2"
      3) "1"
      127.0.0.1:6379> rpush list_key 4
      (integer) 4
      127.0.0.1:6379> lrange list_key 0 10
      1) "3"
      2) "2"
      3) "1"
      4) "4"

      五、將一個值插入到已存在的列表尾部

        命令:rpushx

        格式:rpushx key value

      127.0.0.1:6379> del list_key
      (integer) 1
      127.0.0.1:6379> lrange list_key 0 10
      (empty list or set)
      127.0.0.1:6379> rpushx list_key 1
      (integer) 0
      127.0.0.1:6379> lrange list_key 0 10
      (empty list or set)
      127.0.0.1:6379> rpush list_key 1
      (integer) 1
      127.0.0.1:6379> lrange list_key 0 10
      1) "1"
      127.0.0.1:6379> rpushx list_key 2
      (integer) 2
      127.0.0.1:6379> lrange list_key 0 10
      1) "1"
      2) "2"

      六、移出并獲取列表的第一個元素

        命令:lpop

        格式:lpop key

      127.0.0.1:6379> del list_key
      (integer) 1
      127.0.0.1:6379> lpush list_key 1 2 3 4 5 
      (integer) 5
      127.0.0.1:6379> lrange list_key 0 10
      1) "5"
      2) "4"
      3) "3"
      4) "2"
      5) "1"
      127.0.0.1:6379> lpop list_key
      "5"
      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "3"
      3) "2"
      4) "1"

      七、移出并獲取列表的最后一個元素

        命令:rpop

        格式:rpop key

      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "3"
      3) "2"
      4) "1"
      127.0.0.1:6379> rpop list_key
      "1"
      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "3"
      3) "2"

      八、獲取列表長度

        命令:llen

        格式:llen key

      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "3"
      3) "2"
      127.0.0.1:6379> llen list_key
      (integer) 3
      127.0.0.1:6379> lpush list_key 5 6 7 
      (integer) 6
      127.0.0.1:6379> lrange list_key 0 10
      1) "7"
      2) "6"
      3) "5"
      4) "4"
      5) "3"
      6) "2"
      127.0.0.1:6379> llen list_key
      (integer) 6

      九、通過索引獲取列表中的元素

        命令:lindex

        格式:lindex key index

      127.0.0.1:6379> lrange list_key 0 10
      1) "7"
      2) "6"
      3) "5"
      4) "4"
      5) "3"
      6) "2"
      127.0.0.1:6379> lindex list_key 4
      "3"
      127.0.0.1:6379> lindex list_key 0
      "7"
      127.0.0.1:6379> lindex list_key 7
      (nil)
      127.0.0.1:6379> lindex list_key 6
      (nil)
      127.0.0.1:6379> lindex list_key 5
      "2"

      十、移出并獲取列表的第一個元素, 如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止

        命令:blpop

        格式:blpop key1 [key2] timeout

      對于有元素的list:

      127.0.0.1:6379> lpush l1 1 2 3 4
      (integer) 4
      127.0.0.1:6379> lpush l2 a b c d
      (integer) 4
      127.0.0.1:6379> lrange l1 0 10
      1) "4"
      2) "3"
      3) "2"
      4) "1"
      127.0.0.1:6379> lrange l2 0 10
      1) "d"
      2) "c"
      3) "b"
      4) "a"
      127.0.0.1:6379> blpop l1 l2 1
      1) "l1"
      2) "4"
      127.0.0.1:6379> blpop l1 l2 1
      1) "l1"
      2) "3"
      127.0.0.1:6379> blpop l1 l2 1
      1) "l1"
      2) "2"
      127.0.0.1:6379> blpop l1 l2 1
      1) "l1"
      2) "1"
      127.0.0.1:6379> blpop l1 l2 1
      1) "l2"
      2) "d"
      127.0.0.1:6379> blpop l1 l2 1
      1) "l2"
      2) "c"
      127.0.0.1:6379> blpop l1 l2 1
      1) "l2"
      2) "b"
      127.0.0.1:6379> blpop l1 l2 1
      1) "l2"
      2) "a"
      127.0.0.1:6379> blpop l1 l2 1
      //1s后
      (nil)
      (1.05s)

      對于無元素的list:

      127.0.0.1:6379> blpop l1 l2 1
      //1s后
      (nil)
      (1.06s)
      127.0.0.1:6379> blpop l1 l2 10
      //另一客戶端調用 lpush l1 1
      1) "l1"
      2) "1"
      (1.54s)
      127.0.0.1:6379> blpop l1 l2 0
      //一直等待

      十一、移出并獲取列表的最后一個元素, 如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止

        命令:brpop

        格式:brpop key1 [key2] timeout

      操作與blpop相同,此處略

      十二、移除列表的最后一個元素,并將該元素添加到另一個列表并返回

        命令:rpoplpush

        格式:rpoplpush source target

      127.0.0.1:6379> del l1 l2
      (integer) 1
      127.0.0.1:6379> lpush l1 1 2 3
      (integer) 3
      127.0.0.1:6379> lrange l1 0 10
      1) "3"
      2) "2"
      3) "1"
      127.0.0.1:6379> lrange l2 0 10
      (empty list or set)
      127.0.0.1:6379> rpoplpush l1 l2
      "1"
      127.0.0.1:6379> lrange l1 0 10
      1) "3"
      2) "2"
      127.0.0.1:6379> lrange l2 0 10
      1) "1"
      127.0.0.1:6379> rpoplpush l1 l2
      "2"
      127.0.0.1:6379> rpoplpush l1 l2
      "3"
      127.0.0.1:6379> rpoplpush l1 l2
      (nil)
      127.0.0.1:6379> lrange l1 0 10
      (empty list or set)
      127.0.0.1:6379> lrange l2 0 10
      1) "3"
      2) "2"
      3) "1"

      十三、從列表中彈出一個值,將彈出的元素插入到另外一個列表中并返回它; 如果列表沒有元素會阻塞列表直到等待超時或發(fā)現(xiàn)可彈出元素為止

        命令:brpoplpush

        格式:brpoplpush source target timeout

      source有元素時:

      127.0.0.1:6379> del l1 l2
      (integer) 0
      127.0.0.1:6379> lpush l1 1 2 3
      (integer) 3
      127.0.0.1:6379> lrange l1 0 10
      1) "3"
      2) "2"
      3) "1"
      127.0.0.1:6379> lrange l2 0 10
      (empty list or set)
      127.0.0.1:6379> brpoplpush l1 l2 1
      "1"
      127.0.0.1:6379> lrange l1 0 10
      1) "3"
      2) "2"
      127.0.0.1:6379> lrange l2 0 10
      1) "1"
      127.0.0.1:6379> brpoplpush l1 l2 1
      "2"
      127.0.0.1:6379> brpoplpush l1 l2 1
      "3"
      127.0.0.1:6379> brpoplpush l1 l2 1
      //1s后
      (nil)
      (1.06s)
      127.0.0.1:6379> lrange l1 0 10
      (empty list or set)
      127.0.0.1:6379> lrange l2 0 10
      1) "3"
      2) "2"
      3) "1"

      source無元素時,與blpop brpop類似

      十四、在列表的第一個指定元素pivot前或者后插入元素value

        命令:linsert

        格式:linsert key before|after pivot value

      127.0.0.1:6379> lpush list_key 1 2 1 3 1 4
      (integer) 6
      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "1"  //第一個指定元素"1"
      3) "3"
      4) "1"
      5) "2"
      6) "1"
      127.0.0.1:6379> linsert list_key after 1 5
      (integer) 7
      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "1"  //第一個指定元素"1"
      3) "5"
      4) "3"
      5) "1"
      6) "2"
      7) "1"
      127.0.0.1:6379> linsert list_key before 1 6
      (integer) 8
      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "6"
      3) "1"  //第一個指定元素"1"
      4) "5"
      5) "3"
      6) "1"
      7) "2"
      8) "1"

      十五、從列表頭部開始,移除count個指定元素value

        命令:lrem

        格式:lrem key count value

      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "6"
      3) "1"
      4) "5"
      5) "3"
      6) "1"
      7) "2"
      8) "1"
      127.0.0.1:6379> lrem list_key 1 1
      (integer) 1
      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "6"
      3) "5"
      4) "3"
      5) "1"
      6) "2"
      7) "1"
      127.0.0.1:6379> lrem list_key 2 1
      (integer) 2
      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "6"
      3) "5"
      4) "3"
      5) "2"
      127.0.0.1:6379> lrem list_key 1 1
      (integer) 0
      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "6"
      3) "5"
      4) "3"
      5) "2"

      十六、通過索引設置列表元素的值

        命令:lset

        格式:lset key index value

      127.0.0.1:6379> rpush list_key 1 2 3 4 5
      (integer) 5
      127.0.0.1:6379> lrange list_key 0 10
      1) "1"
      2) "2"
      3) "3"
      4) "4"
      5) "5"
      127.0.0.1:6379> lset list_key 0 10
      OK
      127.0.0.1:6379> lrange list_key 0 10
      1) "10"
      2) "2"
      3) "3"
      4) "4"
      5) "5"
      127.0.0.1:6379> lset list_key 3 10
      OK
      127.0.0.1:6379> lrange list_key 0 10
      1) "10"
      2) "2"
      3) "3"
      4) "10"
      5) "5"

      十七、對一個列表進行修剪,刪除指定下標區(qū)間[start,stop]之外的元素

        命令:ltrim

        格式:ltrim key start stop

      127.0.0.1:6379> del list_key
      (integer) 1
      127.0.0.1:6379> rpush list_key 1 2 3 4 5 6 7 8 9
      (integer) 9
      127.0.0.1:6379> lrange list_key 0 10
      1) "1"
      2) "2"
      3) "3"
      4) "4"
      5) "5"
      6) "6"
      7) "7"
      8) "8"
      9) "9"
      127.0.0.1:6379> ltrim list_key 3 6
      OK
      127.0.0.1:6379> lrange list_key 0 10
      1) "4"
      2) "5"
      3) "6"
      4) "7"

       

       

      參考鏈接:https://www.runoob.com/redis/redis-strings.html

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多