RedisList类型操作
  TEZNKK3IfmPf 2023年11月14日 15 0
  • 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的列表中

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   27   0   0 redis用户
  TEZNKK3IfmPf   2024年05月31日   29   0   0 dataredis
  TEZNKK3IfmPf   2024年05月31日   27   0   0 awkredis
  TEZNKK3IfmPf   2024年04月19日   38   0   0 javarediskey
TEZNKK3IfmPf