当前位置: 首页 > news >正文

【Redis】字符串类型List 常用命令详解

文章目录

          • 1. 添加
            • 1.1 lpush - 从左或Rpush - 从右添加元素
            • 1.2 linsert - 插入新值到某个值前后
          • 2. 获取
            • 2.1 lrange - 根据区间获取值
            • 2.2 lindex - 根据下标获取值
            • 2.3 llen - 获取列表的长度
          • 3. 删除
            • 3.1 lpop - 移除最左或rpop - 最右的元素
            • 3.2 lrem - 移除指定的值
            • 3.3 rpoplpush - 移除最后一个元素且添加到另一个list
          • 4. ltrim - 根据下标范围截取 list
          • 5. lset - 替换指定下标的值

1. 添加
1.1 lpush - 从左或Rpush - 从右添加元素

lpush key value:将元素添加到列表左边

Rpush key value:将元素添加到列表右边

> lpush list1 A
1
> lpush list1 B
2
> lpush list1 C
3
> lrange list1 0 -1
1) "C"
2) "B"
3) "A"
1.2 linsert - 插入新值到某个值前后

语法:linsert list before/after value newvalue

> lrange list 0 -1
1) "A"
2) "B"
3) "C"> linsert list1 before C 2B # 在 C 前插入 2B
4> lrange list1 0 -1
1) "A"
2) "B"
3) "2B"
4) "C"
2. 获取
2.1 lrange - 根据区间获取值

语法:lrange key start end

> lrange list1 0 -1 # 获取所有值
1) "C"
2) "B"
3) "A"> lrange list1 0 1 # 获取指定区间的值
1) "C"
2) "B"
2.2 lindex - 根据下标获取值

语法:lindex list 下标

> lrange list1 0 -1
1) "C"
2) "B"> lindex list1 0
"C"> lindex list1 1
"B"
2.3 llen - 获取列表的长度

语法: llen list

> len list1
2
3. 删除
3.1 lpop - 移除最左或rpop - 最右的元素

lpop key:删除列表最左边的元素,且返回元素

rpop key:删除列表最右边的元素,且返回元素

> lrange list1 0 -1
1) "D"
2) "C"
3) "B"
4) "A"> lpop list1 # 删除列表最左边的元素,且返回元素
"D"> rpop list1 # 删除列表最右边的元素,且返回元素
"A"> lrange list1 0 -1
1) "C"
2) "B"
3.2 lrem - 移除指定的值

语法:lrem list num value

> lrange list1 0 -1
1) "C"
2) "C"
3) "B"
4) "A">lrem list1 1 A # 删除1个A
1> lrange list1 0 -1
1) "C"
2) "C"
3) "B"> lrem list1 2 C # 删除2个C
2> lrange list1 0 -1
1) "B"
3.3 rpoplpush - 移除最后一个元素且添加到另一个list

语法:rpoplpush list1 list2

> lrange list1 0 -1
1) "A"
2) "B"
3) "C"> rpoplpush list1 list2 # 移除 list1 中最后一个元素,且添加到list2 中去
"C"> lrange list1 0 -1
1) "A"
2) "B"> lrange list2 0 -1
1) "C"
4. ltrim - 根据下标范围截取 list

语法:ltrim list start end

> rpush list1 A
1
> rpush list1 B
2
> rpush list1 C
3
> rpush list1 D
4> ltrim list1 1 2 # 截取下标为1到2的值
OK> lrange list1 0 -1
1) "B"
2) "C"
5. lset - 替换指定下标的值

语法:lset list 下标 value

> exists list1 # 判断是否存在此list
0> lset list1 0 beijing # 不存在,替换报错
(error) ERR no such key> lpush list1 chaozhou # 创建一个list
1
> lindex list1 0
"chaozhou"> lset list1 0 beijing # 存在,替换成功
OK
> lindex list1 0
"beijing"

相关文章:

  • 基于 PaddleOCR对pdf文件中的文字提取
  • 分布式之易混淆概念
  • vue浅试(1)
  • EasyRTC音视频实时通话:打造高清低延迟的远程会议新生态
  • (51单片机)LCD显示温度(DS18B20教程)(LCD1602教程)(延时函数教程)(单总线教程)
  • 7. 深入Spring AI:刨析 Advisors 机制
  • C++中的算术转换、其他隐式类型转换和显示转换详解
  • 极验4滑块笔记:整理思路--填坑各种问题
  • Java--数组的应用
  • Linux随记(十七)
  • 辛格迪客户案例 | 浙江高跖医药委托生产质量管理协同(OWL MAH)项目
  • C语言实现堆(优先队列)详解
  • 【沉浸式求职学习day21】【常用类分享,完结!】
  • 使用 Vue Router 和 Vite 构建的自动路由生成系统
  • Python基础总结(九)之推导式
  • C# 封装教程
  • 【SF顺丰】顺丰开放平台API对接(注册、API测试篇)
  • 《一次静态 ObjectMapper 引发的 RocketMQ 消费异常排查》
  • 极刻云搜-专业的软件网址搜索引擎
  • Linux421用户、组
  • 秦洪看盘|平淡走势中或将孕育主旋律
  • 魔都眼·上海车展①|开幕首日:首发首秀近百款新车
  • 王励勤当选中国乒乓球协会新一任主席
  • 体坛联播|曼城击败维拉迎英超三连胜,巴萨遭遇魔鬼赛程
  • 电影“名场面”被制成表情包在网站上传播,网站运营者被判赔5500元
  • 去年净流入人口达45万,居各省份第一:浙江带来哪些启示?