5-RedisList操作

NoSQL数据库每一个都有自己的API和接口,不想关联数据库都支持SQL,所以针对不同的数据类型,有对应的操作,我们要熟悉每种数据类型的特点,在需要用到的时候到何时的地方看有没有可能需要用到的操作方法

www.redisdoc.com

一般右边插入,左边读取


4395895-73e5bec8e76a0e86.png
image.png

1.Redis-List类型操作
Redis的Value除了可以存储普通的字符串类型以外, 还可以存储List类型
List类型就相当于在C语言中学习的链表, 可以把整个链表当做一个Value存储起来
注意点: List是有序的

  • 增加
    • 从第二个Value开始添加到前一个的左边
      lpush key value1 value2 value3
      lpush city bj sh gz
    • 从第二个Value开始添加到前一个的右边
      rpush key value1 value2 value3
      rpush city bj sh gz
  • 查询
    • 索引从0开始, 如果想取出对应key所有的内容, endIndex可以写-1
      lrange key startIndex endIndex
      lrange city 0 2
      lrange city 0 -1
  • 删除
  • count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
  • count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
  • count = 0 : 移除表中所有与 value 相等的值。

lrem key count value
rpush city bj sh gz bj wh hz gz bj
执行之前: bj sh gz bj wh hz gz bj
lrem city 1 bj
执行之后: bj sh gz bj wh hz gz bj


执行之前: bj sh gz bj wh hz gz bj
lrem city 2 bj
执行之后: sh gz wh hz gz bj


执行之前: bj sh gz bj wh hz gz bj
lrem city -1 bj
执行之后: bj sh gz bj wh hz gz


执行之前: bj sh gz bj wh hz gz bj
lrem city -2 bj
执行之后: bj sh gzwh hz gz


执行之前: bj sh gz bj wh hz gz bj
lrem city 0 bj
执行之后: sh gzwh hz gz


  • 追加(修改)
    • 继续通过lpush或者rpush指定对应的key即可给原有key增加节点内容
    • 例如: 以前city中存储的数据是 bj sh gz
    • rpush city wh
    • bj sh gz wh
  • 修改
    注意 index从0开始
    lset key index value
    lset city 2 yy
  • 插入
    如果通过lpush或者rpush追加内容, 要么追加到链表的最左边, 要么就是追加到链表的最右边
    linsert key before|after 现有value 新增value
    linsert www before b f
    linsert www after b g

rpush www a b c
lpush www d
rpush www e

猜你喜欢

转载自blog.csdn.net/weixin_34254823/article/details/87656891
今日推荐