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

3.Redis数据类型(二)

LIST

List 是一个简单的双向链表,支持从两端进行插入和删除操作。

常用命令:

lpush/rpush/lrange

lpush 插入一个或多个元素到列表的左端。

rpush 插入一个或多个元素到列表的右端。

lrange key start stop 获取元素(前闭后闭),超过范围的话,只会返回范围内的元素,不会报错。 

127.0.0.1:6379> LPUSH list1 1 2 3 4 5 6
(integer) 6
127.0.0.1:6379> RPUSH list2 11 22 33 44 55 66
(integer) 6
127.0.0.1:6379> TYPE list1
list
127.0.0.1:6379> LRANGE list1 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"
127.0.0.1:6379> LRANGE list2 0 -1
1) "11"
2) "22"
3) "33"
4) "44"
5) "55"
6) "66"
127.0.0.1:6379> LRANGE list2 0 1
1) "11"
2) "22"

lpop/rpop

lpop key [count](删除并返回列表的左端元素)可以设置取出的元素个数

rpop key [count] 删除并返回列表的右端元素。可以设置取出的元素个数 

127.0.0.1:6379> LRANGE list1 0 -1
1) "6"
2) "5"
3) "4"
4) "3"
5) "2"
6) "1"
127.0.0.1:6379> LPOP list1 
"6"
127.0.0.1:6379> LRANGE list1 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
127.0.0.1:6379> RPOP list1
"1"
127.0.0.1:6379> LRANGE list1 0 -1
1) "5"
2) "4"
3) "3"
4) "2"127.0.0.1:6379> LRANGE list1 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
127.0.0.1:6379> LPOP list1 2
1) "5"
2) "4"
127.0.0.1:6379> LRANGE list1 0 -1
1) "3"
2) "2"
lindex

根据下标获取元素 下标从0开始

127.0.0.1:6379> LRANGE list2 0 -1
1) "11"
2) "22"
3) "33"
4) "44"
5) "55"
6) "66"
127.0.0.1:6379> LINDEX list2 2
"33"
127.0.0.1:6379> LINDEX list2 0
"11"
127.0.0.1:6379> LINDEX list2 1
"22"
llen

获取列表中元素的个数

127.0.0.1:6379> LRANGE list2 0 -1
1) "11"
2) "22"
3) "33"
4) "44"
5) "55"
6) "66"
127.0.0.1:6379> LLEN list2
(integer) 6

lrem

删除指定的元素

lrem key count(要删除的数量) element(要删除的值)

count > 0 : 从左往右找,删除

count < 0 : 从右往左找,删除

count = 0 : 删除所有的

127.0.0.1:6379> LPUSH list1  1 1 1 1 2 2 2 3 3 4 5
(integer) 11
127.0.0.1:6379> LRANGE list1 0 -11) "5"2) "4"3) "3"4) "3"5) "2"6) "2"7) "2"8) "1"9) "1"
10) "1"
11) "1"
127.0.0.1:6379> LREM list1 3 1
(integer) 3
127.0.0.1:6379> LRANGE list1 0 -1
1) "5"
2) "4"
3) "3"
4) "3"
5) "2"
6) "2"
7) "2"
8) "1"
127.0.0.1:6379> LREM list1 0 3
(integer) 2
127.0.0.1:6379> LRANGE list1 0 -1
1) "5"
2) "4"
3) "2"
4) "2"
5) "2"
6) "1"
ltrim 

ltrim key start stop(前闭后闭) 截取指定索引区间的元素后再赋值给key

127.0.0.1:6379> LRANGE list2 0 -1
1) "11"
2) "22"
3) "33"
4) "44"
5) "55"
6) "66"
127.0.0.1:6379> ltrim list2 2 3
OK
127.0.0.1:6379> LRANGE list2 0 -1
1) "33"
2) "44"
 rpoplpush

 rpoplpush 源列表 目的列表

移除列表的最后一个元素,并将该元素添加到另一个列表并返回

127.0.0.1:6379> LRANGE list1 0 -1
1) "5"
2) "4"
3) "2"
4) "2"
5) "2"
6) "1"
127.0.0.1:6379> LRANGE list2  0 -1
1) "33"
2) "44"
127.0.0.1:6379> RPOPLPUSH list1 list2
"1"
127.0.0.1:6379> LRANGE list1 0 -1
1) "5"
2) "4"
3) "2"
4) "2"
5) "2"
127.0.0.1:6379> LRANGE list2 0 -1
1) "1"
2) "33"
3) "44"
lset
LSET key index element

设置指定位置元素的值。

127.0.0.1:6379> LRANGE list2 0 -1
1) "1"
2) "33"
3) "44"
127.0.0.1:6379> LSET list2 1 mysql
OK
127.0.0.1:6379> LRANGE list2 0 -1
1) "1"
2) "mysql"
3) "44"
linsert

linsert key <before | after> pivot element

进行插入的时候,从左往右找到第一个值进行前后插入

127.0.0.1:6379> LRANGE list2 0 -1
1) "1"
2) "mysql"
3) "44"
127.0.0.1:6379> LINSERT list2 before mysql java
(integer) 4
127.0.0.1:6379> LRANGE list2 0 -1
1) "1"
2) "java"
3) "mysql"
4) "44"

http://www.lryc.cn/news/419114.html

相关文章:

  • JavaWeb系列十一: Web 开发会话技术Session
  • k8s中yaml文件的编写
  • 打卡第37天------动态规划
  • openfeign本地试用
  • 数据库|SQLServer数据库:查询函数(SUM、COUNT、MAX、MIN、AVG)的使用
  • 简单Qt贪吃蛇项目
  • 画菱形(曼哈顿距离)
  • CSP初赛知识点讲解(六)
  • linux rocky 9.2系统安装mysql-wsrep-8.4.2-26.20-linux-x86_64.tar.gz二进制包
  • QT实现上传服务器功能
  • 元岳食堂采购供应链系统-智慧食堂数据化解决方案
  • 基于Java+SpringBoot+Vue的影城管理系统
  • 自定义starter
  • Docker 入门全攻略:安装、操作与常用命令指南
  • mstsc被卸载,远程桌面mstsc.exe重装
  • 从根儿上学习spring 十一 之run方法启动第四段(5)
  • 常见8种数据结构
  • 黑马Java零基础视频教程精华部分_11_面向对象进阶(3)_抽象类、接口、适配器
  • Promethues Metrics
  • 公网IP与私网IP具体有哪些区别?
  • LeetCode——3143. 正方形中的最多点数
  • const重新赋值的问题
  • python开发上位机 - PyCharm环境搭建、安装PyQt5及工具
  • day02-安装虚拟机
  • Qt:线程
  • VisionPro二次开发学习笔记11-使用 Caliper和Fixture定位Blob工具检测方块
  • 高翔【自动驾驶与机器人中的SLAM技术】学习笔记(五)卡尔曼滤波器一:认知卡尔曼滤波器;协方差矩阵与方差;
  • 【Go】通过反射解析对象tag信息,实现简易ORM
  • gemini2相机和宇树雷达L1的使用注意点
  • FPGA开发——verilog随机涵数$random的使用方法