RedisList类型操作

Redis-List类型-增删改查

  • 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

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

  • lpush + rpop

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

posted @ 2020-08-07 23:18  BNTang  阅读(161)  评论(0编辑  收藏  举报