3、链表

被刻印的时光 ゝ 提交于 2020-02-15 01:01:13

3、链表

  • lpush key value:在key左端插入值

  • rpush key value

  • lpushx key value:key不存在时,不插入

  • rpushx key value

  • rpop key:删除链表尾部的值

  • lrange key start stop:返回链表[start , stop]的数值

  • lrem key count value:删除key中的value值

    • count表示只删除count个
    • count<0表示从表尾删除
    • count>0表示从表头开始
  • ltrim key start stop:将key的值设为[start , stop]间的值

    127.0.0.1:6379> lrange a 0 -1
    1) "5"
    2) "4"
    3) "3"
    4) "2"
    5) "2"
    6) "1"
    127.0.0.1:6379> ltrim a 1 3
    OK
    127.0.0.1:6379> lrange a 0 -1
    1) "4"
    2) "3"
    3) "2"
    
  • lindex key index:返回index上的值

  • llen key: 返回key的长度

  • linsert key after|before search value:在search前或者后插入value

    127.0.0.1:6379> linsert a before 1 7
    (integer) -1    -->不存在时报错
    127.0.0.1:6379> lrange a 0 -1
    1) "4"
    2) "3"
    3) "2"
    127.0.0.1:6379> linsert a before 2 5
    (integer) 4
    127.0.0.1:6379> lrange a 0 -1
    1) "4"
    2) "3"
    3) "5"
    4) "2"
    
    127.0.0.1:6379> lrange a 0 -1
    1) "2"
    2) "4"
    3) "3"
    4) "5"
    5) "2"
    127.0.0.1:6379> linsert a before 2 9
    (integer) 6
    127.0.0.1:6379> lrange a 0 -1
    1) "9"          -->从表头开始查找,只匹配一个
    2) "2"
    3) "4"
    4) "3"
    5) "5"
    6) "2"
    
  • rpoplpush source dest:把source的表尾取出并放置到dest的表头:

    127.0.0.1:6379> lrange a 0 -1
    1) "9"
    2) "2"
    3) "4"
    4) "3"
    5) "5"
    6) "2"
    127.0.0.1:6379> rpoplpush a b
    "2"
    127.0.0.1:6379> lrange b 0 -1
    1) "2"
    127.0.0.1:6379> lrange a 0 -1
    1) "9"
    2) "2"
    3) "4"
    4) "3"
    5) "5"
    
  • brpop | blpop key [key…] timeout:等待弹出key的表尾或者表头,timeout为等待时间

    127.0.0.1:6379> lrange a 0 -1
    1) "9"
    2) "2"
    3) "4"
    4) "3"
    5) "5"
    127.0.0.1:6379> brpop a 2
    1) "a"
    2) "5"
    127.0.0.1:6379> lrange a 0 -1
    1) "9"
    2) "2"
    3) "4"
    4) "3"
    
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!