0%

redis数据类型之list命令

前言

list是redis数据库中的列表,列表元素的数据类型是string。

创建列表

  • 从左侧插入数据,创建列表
    语法:lpush list item1 item2
    1
    2
    3
    4
    5
    6
    7
    8
    127.0.0.1:6379> lpush list1 one two three
    (integer) 3
    127.0.0.1:6379> type list1 #查看列表的数据类型
    list
    127.0.0.1:6379> lrange list1 0 2 #查看列表的元素
    1) "three"
    2) "two"
    3) "one"
  • 从右侧插入数据,创建列表
    语法:rpush list item1 item2
    1
    2
    3
    4
    5
    6
    127.0.0.1:6379> rpush list2 one two three
    (integer) 3
    127.0.0.1:6379> lrange list2 0 2 #查看列表的元素
    1) "one"
    2) "two"
    3) "three"

    插入数据到列表

    语法:linsert list before/after item item_changed
    1
    2
    3
    4
    5
    6
    7
    127.0.0.1:6379> linsert list1 before two 2 #向列表list1的元素"two"之前插入元素"2"
    (integer) 4
    127.0.0.1:6379> lrange list1 0 3 #查看列表的元素
    1) "three"
    2) "2"
    3) "two"
    4) "one"

    查看列表元素

    语法:lrange list index1 index2
    1
    2
    3
    4
    5
    127.0.0.1:6379> lrange list1 0 -1 #查看列表的所有元素,索引值为-1表示最后一个元素
    1) "three"
    2) "2"
    3) "two"
    4) "one"

    修改列表元素的值

    语法:lset list index item
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    127.0.0.1:6379> lrange list1 0 -1
    1) "three"
    2) "2"
    3) "two"
    4) "one"
    127.0.0.1:6379> lset list1 1 change #将索引值为1的元素值改为"change"
    OK
    127.0.0.1:6379> lrange list1 0 -1
    1) "three"
    2) "change"
    3) "two"
    4) "one"

    删除列表元素

    语法:lrem list count item
    count的值大于0,表示从左侧开始删除值为item的元素。
    count的值小于0,表示从右侧开始删除值为item的元素。
    count的值等于0,表示删除所有值为item的元素。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    127.0.0.1:6379> lrange list1 0 -1
    1) "b"
    2) "a"
    3) "b"
    4) "a"
    5) "b"
    6) "a"
    7) "three"
    8) "change"
    9) "two"
    10) "one"
    127.0.0.1:6379> lrem list1 -2 b #从右侧删除list1的两个值为"b"的元素
    (integer) 2
    127.0.0.1:6379> lrange list1 0 -1
    1) "b"
    2) "a"
    3) "a"
    4) "a"
    5) "three"
    6) "change"
    7) "two"
    8) "one"
-------------本文结束感谢您的阅读-------------