• Redis的Value除了可以存储字符串和Hash类型以外,还可以存储List类型
  • List类型就相当于JavaScript中的数组,可以把整个数组当做一个Value存储起来
  • List是有序

✒增加

  • 从第二个Value开始添加到前一个Value的左边
  • 语法:lpush key value1 value2 value3
lpush arr1 aa bb cc
  • 从第二个Value开始添加到前一个Value的右边
  • 语法:rpush key value1 value2 value3
rpush arr2 aa bb cc

????查询

  • 查询指定范围数据
  • 语法:lrange key startIndex endIndex
  • 索引从0开始,endIndex等于-1表示取到最后
lrange arr1 0 -1
lrange arr1 0 2
  • 查询指定索引数据
  • 语法:lindex key index
  • 从前往后索引从0开始,从后往前索引从-1开始
lindex arr1 1
lindex arr1 -2

????修改

  • 语法:lset key index value
  • index从0开始
lset arr1 1 dd

????删除

  • lpop删除左边元素
  • 语法:lpop key
lpop arr1
  • rpop删除右边元素
  • 语法:rpop key
rpop arr1
  • lrem删除指定个数的指定元素
  • 语法:lrem key count value

首先添加测试数据

rpush arr4 11 22 11 33 11 44 11 55 11 66
  • count > 0:从表头开始向表尾搜索,移除与value相等的元素,数量为 count
lrem arr4 1 11
  • count < 0:从表尾开始向表头搜索,移除与value相等的元素,数量为 count 的绝对值
lrem arr4 -1 11
  • count = 0:移除表中所有与value相等的值
lrem arr4 0 11
  • ltrim按照索引剪切列表
  • 格式:ltrim key start end
ltrim arr4 1 3

Redis-List类型-其它操作

????追加数据

  • 格式:lpush key value1, value2, ...
  • 如果不存在就是创建,存在了就是往原有的基础上追加,左追加
lpush arr4 11 22
  • 格式:rpush key value1, value2, ...
  • 如果不存在就是创建,存在了就是往原有的基础上追加,右追加
rpush arr4 11 22

????插入数据

  • 格式:linsert key before|after oldValue newValue
linsert arr4 before 44 66
linsert arr4 after 44 77

????获取列表长度

  • 格式:llen key
llen arr4

列表实现简单数据结构

  • 栈结构(水桶)先进后出
  • lpush + lpop

RedisList类型操作

  • 队列结构(水管)先进先出

RedisList类型操作

  • lpush + rpop

所以在企业开发中,如果需要先进后出或者先进先出的数据结构,我们就可以将这些数据存储到Redis的列表中

相关文章:

  • 2022-02-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-04
  • 2021-09-21
猜你喜欢
  • 2021-12-26
  • 2021-12-17
  • 2021-11-28
  • 2021-12-02
  • 2022-01-14
  • 2021-07-29
相关资源
相似解决方案