Redis(四):数据结构之List常用命令

List类型  栈 先进后出

 

1.LPUSH 放入表头

127.0.0.1:6379> lpush mylist java js python go 
    (integer) 4

 

2.LRANGE

127.0.0.1:6379> lrange mylist 0 -1
    1) "go"
    2) "python"
    3) "js"
    4) "java"

3.LPUSHX  list不为空的时候才能放入表头

127.0.0.1:6379> lpushx mylist1 name
    (integer) 0
    127.0.0.1:6379> lpushx mylist name
    (integer) 5

4.RPUSH 放入表尾 

127.0.0.1:6379> rpush mylist php
    (integer) 6
    127.0.0.1:6379> lrange mylist 0 -1
    1) "name"
    2) "go"
    3) "python"
    4) "js"
    5) "java"
    6) "php"

5.RPUSHX 同理 LPUSHX
    

6.LPOP 删除表头

127.0.0.1:6379> LPOP mylist 
    "name"
    127.0.0.1:6379> lrange mylist 0 -1
    1) "go"
    2) "python"
    3) "js"
    4) "java"
    5) "php"

7.RPOP 删除表尾

8.RPOPLPUSH listA listB 将listA的表尾弹出后放入listB表头

127.0.0.1:6379> RPOPLPUSH mylist mylist1
    "php"
    127.0.0.1:6379> lrange mylist 0 -1
    1) "go"
    2) "python"
    3) "js"
    4) "java"
    127.0.0.1:6379> lrange mylist1 0 -1
    1) "php"

9.LLEN

 127.0.0.1:6379> llen mylist
    (integer) 4

10.LINSERT key BEFORE|AFTER pivot value
    将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。
    当 pivot 不存在于列表 key 时,不执行任何操作。
    当 key 不存在时, key 被视为空列表,不执行任何操作。
    如果 key 不是列表类型,返回一个错误。

127.0.0.1:6379> LINSERT mylist before go h5
    (integer) 5
    127.0.0.1:6379> lrange mylist 0 -1
    1) "h5"
    2) "go"
    3) "python"
    4) "js"
    5) "java"
    127.0.0.1:6379> LINSERT mylist after go css
    (integer) 6
    127.0.0.1:6379> lrange mylist 0 -1
    1) "h5"
    2) "go"
    3) "css"
    4) "python"
    5) "js"
    6) "java"

11.LINDEX

127.0.0.1:6379> lindex mylist 0
    "h5"

12.LSET 将列表 key 下标为 index 的元素的值设置为 value 。

127.0.0.1:6379> LSET mylist 0 html5
    OK
    127.0.0.1:6379> lrange mylist 0 -1
    1) "html5"
    2) "go"
    3) "css"
    4) "python"
    5) "js"
    6) "java"

13.LTRIM key start stop 裁剪list

127.0.0.1:6379> ltrim mylist 2 -1
    OK
    127.0.0.1:6379> lrange mylist 0 -1
    1) "css"
    2) "python"
    3) "js"
    4) "java"

14.LREM key count value

count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
    count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
    count = 0 : 移除表中所有与 value 相等的值。

    127.0.0.1:6379> lrange greet 0 -1
    1) "value3"
    2) "value2"
    3) "value2"
    4) "value1"
    5) "value3"
    6) "value2"
    7) "value1"

    127.0.0.1:6379> lrem greet 1 value2
    (integer) 1
    127.0.0.1:6379> lrange greet 0 -1
    1) "value3"
    2) "value2"
    3) "value1"
    4) "value3"
    5) "value2"
    6) "value1"

    127.0.0.1:6379> lrem greet -1 value1 
    (integer) 1
    127.0.0.1:6379> lrange greet 0 -1
    1) "value3"
    2) "value2"
    3) "value1"
    4) "value3"
    5) "value2"

    127.0.0.1:6379> lrem greet 0 value2 
    (integer) 2
    127.0.0.1:6379> lrange greet 0 -1
    1) "value3"
    2) "value1"
    3) "value3"

 

你可能感兴趣的:(Redis,数据库)