Redis_列表_Hash散列操作_1|学习笔记

简介: 快速学习 Redis_列表_Hash 散列操作_1

开发者学堂课程【Redis 数据库入门Redis_列表_Hash 散列操作_1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/15/detail/49


Redis_列表_Hash 散列操作_1


内容介绍:

一、List 列表

二、List

三、命令


一、List 列表

1.基于 Linked List 实现

通常 Java 里面有 Array list,还有 Linked list。Redis 里面用 Linked list 来实现列表。Linked list 是连接列表,相当于几个小人连接在一起,每个小人代表一个元素。

2.元素是字符串类型

3.列表头尾增删快,中间增删慢,增删元素是常态

因为列表的头尾增删快,所以我们会往头部增,往尾部弹出。

4.元素可以重复出现

5.最多包含2^32-1元素

image.png

二、List

1.列表的索引

从左至右,从0开始

从右至左,从-1开始

image.png

三、命令

1、命令说明

B block 块,阻塞

L left 左

R right 右

X exist 存在

有些命令说明,要先命令里面带B开头的,是说它在命令的时候会阻塞在那个地方。如果是L开头的是从列表左侧进行操作,R 开头的是从右边进行操作,X和上面一样,判断是否存在。


2、左右或者头尾压入元素

LPUSH key value [value…]

LPUSHX key value

RPUSH key value [value…]

RPUSHX key value

LPUSH是从左边压入元素,RPUSH是从右边压入元素


3.左右或者头尾弹出元素

LPOP key

RPOP key

LPOP 是从左弹出一个元素,RPOP 是从右弹出一个元素。


4.从一个列表尾部弹出元素压入到另一个列表的头部

RPOPLPUSH source destination


5.返回列表中制定范围元素

LRANGE key start stop          key代表的是一个列表

LRANGE key 0 -1表示返回所有元素


6.获取指定位置的元素

LINDEX key index


7.设置指定位置元素的值

LSET key index value


8.列表长度,元素个数

LLEN key      

LLEN 是看列表的长度是多少

这个操作我们来做一下,首先是 LPUSH,只要填上 LPUSH、按下 Tab 会自动补全。

比如,LPUSH list 后加元素 c,后 LPUSH list java scala python redis。如果LPUSHX 这个键存在了,再往里面设置。RPUSH list 向右边追加,后 help @list,会列出所有命令。


我们看长度是多少,LLEN list,长度是6,输入 Rpop list 后会弹出一个元素,再看它的长度是5。

将元素压入另一个列表中去,RPOPLPUSH list list2,list2 的类型就是 list,长度是1。输入 LRANGE list 0 -1会将所有元素展现出来,我们还可以指定范围元素。

这个列表是有顺序的,redis 排在前面,java 在最后,是因为上面在插入时是向左先插入的 java,所以第一个就是 redis

image.png


9.从列表头部开始删除值等于 value 的元素 count 次

LREM key count value  

我们输入 Lrem list 1 Scala

count > 0:从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count

count < 0:从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值

count = 0:移除表中所有与 value 相等的值

举例:

RPUSH listkey c ab 123 ab bj ab redis list

LREM listkey 2 ab  

LRANGE listkey 0 -1

image.png

 


10.去处指定范围外元素

LTRIM key start stop

举例:

RPUSH listkey c abc c ab 123 ab bj ab redis list

相关文章
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
504 5
|
存储 NoSQL Java
Redis如何处理Hash冲突?
在 Redis 中,哈希表是一种常见的数据结构,通常用于存储对象的属性,对于哈希表,最常遇到的是哈希冲突,那么,当 Redis遇到Hash冲突会如何处理?这篇文章,我们将详细介绍Redis如何处理哈希冲突,并探讨其性能和实现细节。
348 1
|
存储 NoSQL 算法
Redis地理散列GeoHash
GeoHash作为一种高效的地理位置编码算法,在Redis中得到了很好的支持。通过使用Redis的GeoHash命令,可以方便地进行地理位置的存储、查询和计算。GeoHash在位置存储、附近位置搜索、距离计算和实时定位等场景中有着广泛的应用。掌握GeoHash及其在Redis中的使用方法,可以极大地提高地理位置相关应用的开发效率和性能。
236 5
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
1794 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
NoSQL 关系型数据库 MySQL
Redis 列表(List)
10月更文挑战第16天
181 2
|
存储 NoSQL Redis
Redis 哈希(Hash)
10月更文挑战第16天
201 1
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
1425 3
|
存储 Prometheus NoSQL
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
216 3
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
156 3
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
338 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。