Redis十大数据类型详解
Redis(一)
十大数据类型
redis字符串(String)
string是redis最基本的类型,一个key对应一个value
string类型是二进制安全的,意思是redis的string可以包含任何数据。例如说是jpg图片或者序列化对象
一个redis中字符串value最多可以是512M
redis列表(List)
有序:列表中的元素是有序的,这意味着你可以按照插入的顺序来获取元素。
可重复:与集合(Set)不同,列表允许元素重复。
灵活:列表可以在头部(左边)或尾部(右边)添加或删除元素。
底层是一个双向链表,最多可以包含2^32-1个元素(每个列表超过40亿个元素)
redis哈希表(Hash)
键值对集合:哈希表存储的是键值对,其中键(field)和值(value)都可以是字符串。
灵活性:哈希表允许你存储多个字段和值,非常适合表示对象。
高效性:由于哈希表的内部实现(如压缩链表或哈希表),Redis能够快速地执行哈希表的增删改查操作。
Redis中每个hash可以存储2^32-1键值对(40多亿)
redis集合(set)
无序性:集合中的元素是无序的,即不保证元素的插入顺序。
唯一性:集合中的元素是唯一的,不允许有重复的元素。
动态性:集合可以动态地添加或删除元素。
Redis 中Set集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。
集合中最大的成员数为 2^32 - 1 (4294967295, 每个集合可存储40多亿个成员)
redis有序集合(zset)
有序性:每个元素都会关联一个double类型的分数,集合中的元素按照分数进行排序,分数越低,排名越靠前。
唯一性:集合中的元素是唯一的,不允许有重复的元素。但是,多个元素可以有相同的分数。
动态性:有序集合可以动态地添加、删除或更新元素及其分数。
zset集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 2^32 - 1
redis地理(GEO)
Redis的地理(GEO)功能提供了一种存储地理位置信息并进行地理空间查询的方法。Redis使用GeoHash算法将二维的经纬度坐标编码为一维的字符串,从而实现对地理位置的快速查询和计算。
存储地理位置:可以存储地理位置的经纬度信息(坐标信息)。
距离计算:可以计算两个地理位置之间的距离。
范围查询:可以查询指定范围内的地理位置。
性能高效:由于使用了GeoHash算法,Redis的地理功能在性能上非常高效。
redis基数统计(HyperLogLog)
Redis的基数统计(HyperLogLog)是一种用于估算数据集合中不重复元素数量的算法。与传统的集合数据结构(如Redis的Set)相比,HyperLogLog在存储空间和计算效率上具有显著优势,尤其是在处理大规模数据集时。
存储空间小:HyperLogLog使用极少的存储空间来估算集合的基数(即不重复元素的数量)。即使在存储数亿个不重复元素时,HyperLogLog也能保持较小的内存占用,或者说计算基数所需的空间总是固定且是很小的。
计算效率高:HyperLogLog的基数估算操作非常快速,几乎可以在常数时间内完成。
估算精度:虽然HyperLogLog提供的是基数的估算值而非精确值,但其估算精度通常足够高,可以满足大多数应用场景的需求。在标准误差范围内(通常为0.81%),HyperLogLog的估算值非常接近实际基数。
HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。
在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比
redis位图(bitmap)
Redis的位图(Bitmap)是一种使用位数组来存储和操作二进制数据的数据结构。位图中的每一位可以表示一个数据点的存在状态(0或1),这使得位图在处理大量数据时非常高效,尤其是在需要快速进行存在性检查或统计操作的情况下。简而言之就是由0和1状态表现的二进制位的bit数组
空间效率:位图使用位数组来存储数据,因此可以非常高效地利用存储空间。例如,一个位图可以轻松地表示数百万个数据点的存在状态,而占用的内存空间却非常少。
操作速度:由于位图的内部实现通常基于高效的位操作算法,因此位图上的操作(如设置、清除、检查位等)通常非常快速。
灵活性:位图可以灵活地表示各种类型的数据点,只要这些数据点可以被映射到一个唯一的索引上。例如,你可以使用位图来表示用户的登录状态、商品的库存状态,判断Y/N状态,其现实生活中的实例为,软件的签到,打卡等等。
redis位域(bitfield)
Redis的位域(Bitfield)功能允许你在位图(Bitmap)上进行更复杂的位操作,如读取、写入和递增特定长度的位字段。使得Redis能够更高效地处理二进制数据。
bitfield命令可以一次性操作多个比特位域(指的是连续的多个比特位),它会执行一系列操作并返回一个响应数组,这个数组中的元素对应参数列表中的相应操作的执行结果。
灵活性强:位域操作允许你指定要操作的位字段的长度(从1位到64位),这使得你可以在位图上表示不同类型的数据(如布尔值、整数、浮点数等)。
高效性:位域操作通常在单个命令中完成多个位的读写操作,从而减少了网络往返次数和Redis服务器的处理时间。
原子性:位域操作是原子的,这意味着它们在执行过程中不会被其他命令打断,从而保证了数据的一致性和完整性。
redis流(Stream )
Redis流(Stream)是Redis 5.0版本引入的一种新的数据结构,主要用于消息队列(MQ,Message Queue),Redis 本身是有一个 Redis 发布订阅 (pub/sub) 来实现消息队列的功能,但它有个缺点就是消息无法持久化,如果出现网络断开、Redis 宕机等,消息就会被丢弃。简单来说发布订阅 (pub/sub) 可以分发消息,但无法记录历史消息。而 Redis Stream 提供了消息的持久化和主备复制功能,可以让任何客户端访问任何时刻的数据,并且能记住每一个客户端的访问位置,还能保证消息不丢失
消息序列化:流中的每条消息都有一个唯一的ID,这个ID通常是由Redis自动生成的,但也可以由客户端指定。消息ID是有序的,因此流中的消息是按顺序排列的。
消费者组:流支持消费者组的概念,允许多个消费者协作处理流中的消息。每个消费者组都有自己的消费进度(即已处理的消息ID),并且可以将消息分配给不同的消费者进行处理。
持久化:流支持AOF(Append Only File)和RDB(Redis Database Backup file)两种持久化方式,确保消息在Redis重启后不会丢失。
消息确认:消费者可以显式地确认已经处理的消息,这样Redis就可以将这些消息从流中删除或标记为已处理。
redis常见数据类型操作命令获取
官网英文:Commands | Docshttp://redis.io/commands/
中文:
Redis 命令https://redis.com.cn/redis-commands.html
redis通用命令
命令 | 作用 |
---|---|
keys * | 查看当前库中所有key |
exsis key | 判断某个key是否存在 |
type key | 查看指定key的数据类型 |
del key | 删除指定的key数据 |
unlink key | 非阻塞删除,仅仅将keys从keyspace元数据中删除,正真的删除会在后续异步中操作 |
ttl key | 查看还有多少秒过期,-1代表永不过期,-2代表已经过期 |
expire key seconds | 为指定的key设置过期时间 |
move key dbindex[0~15] | 将当前数据库的key移动到给定的数据库db当中 |
select dbindex[0~15] | 切换数据库【0~15】,默认为0 |
dbsize | 查看当前数据库key的数量 |
fiushdb | 清空当前库 |
flushall | 通杀全部库 |
字符串类型string
-
同时设置/获取多个键值:MSET key value 【key value...】,MGET key 【key...】
还有一些组合形式如:msetnx/msetxx...
-
数值增减(前提是一定要是数字):
递增:INCR key
增加指定数字:INCRBY key increment
递减:DECR key
减少指定整数:DECR key decrement
-
GETSET:先get返回旧值再set设置新值
列表类型List
-
添加和查询数据:LPUSGH(从左端添加)/RPUSH(从右端添加)/LRANGE(查询指定索引范围内的元素)
-
删除元素:LPOP(从左端弹出一个元素并返回其值)/RPOP(从右端弹出一个元素并返回其值)
-
删除number个值等于v1的元素:LREM key number v1
-
截取指定范围内的值后再赋值给key:LTRIM key beginindex endindex
-
将源列表中的元素弹到目的列表中:RPOPLPUSH 源列表 目的列表
-
修改指定索引的值:LSET key index value
-
在指定的元素前/后添加指定的元素:LINSERT key before/after 旧值 插入的新值
哈希类型Hash
-
添加和查询数据:HSET/HGET
-
批量添加和查询数据:HMSET/HMGET/HGETALL(查询全部)
-
删除指定的value值:HDEL
-
获取某个key内的全部数量:HLEN
-
判断key中是否存在对应字段:HEXSIS key
-
获取key中的所有filed/filed对应的value:HKEYS/HVALUES
-
在对应的value值上增加:HINCRBY/HINCRBTFLOAT
-
当key不存在时添加key:HSETNX
集合类型set
打字太累了,这里偷一下懒,哈哈~
如果觉得不详细,请移步至官网操作手册,地址在常用命令处
有序集合类型zset
位图类型bitmap
偏移量从o开始
用String类型作为底层数据结构实现的一种统计二值状态的数据类型
位图本质是数组,它是基于String数据类型的按位的操作。该数组由多个二进制位组成,每个二进制位都对应一个偏移量(我们称之为一个索引)。
命令 | 作用 | 时间复杂度 |
---|---|---|
setbit key offset(偏移位) val(0/1) | 给指定的key的值的第offset赋值val | O(1) |
getbit key offset | 获取指定key的第offset位 | O(1) |
bitcount key start end | 返回指定key中【start end】中为1的数量 | O(n) |
bittop operation destkey key | 对不同的二进制存储数据进行位运算(AND,OR,NOT,XOR) | O(n) |
基数统计类型HyperLogLog
去重复,统计功能的基数估计算法就是HyperLogLog
地理空间类型GEO
本质上就是zset的衍生形态,存入一个value值其还配备了对应的经纬度坐标(将zset中的score进行了替换)
命令 | 作用 |
---|---|
GEOADD | 添加经纬度坐标 |
GEOPOS | 返回经纬度 |
GEOHASH | 返回坐标的geohash表示 |
GEODIST | 返回两个位置之间的距离 |
GEORADIUS | 以半径为中心,查找附近的相关坐标 |
GEORADIUSBYMEMBER | 以半径为中心,查找附近坐标(可以使用中文) |
流类型stream
Redis消息队列的2种方案:
List实现消息队列:
pub/sub(发布订阅):
原理图
1 | Message Content | 消息内容 |
---|---|---|
2 | Consumer group | 消费组,通过XGROUP CREATE 命令创建,同一个消费组可以有多个消费者 |
3 | Last_delivered_id | 游标,每个消费组会有个游标 last_delivered_id,任意一个消费者读取了消息都会使游标 last_delivered_id 往前移动。 |
4 | Consumer | 消费者,消费组中的消费者 |
5 | Pending_ids | 消费者会有一个状态变量,用于记录被当前消费已读取但未ack的消息Id,如果客户端没有ack,这个变量里面的消息ID会越来越多,一旦某个消息被ack它就开始减少。这个pending_ids变量在Redis官方被称之为 PEL(Pending Entries List),记录了当前已经被客户端读取的消息,但是还没有 ack (Acknowledge character:确认字符),它用来确保客户端至少消费了消息一次,而不会在网络传输的中途丢失了没处理 |
队列相关指令:
消费组相关命令:
4个特殊符号:
-+:最小和最大可能出现的id
$:表示只消费新的消息,当前流中最大的id,可用于将要到来的消息
大于号(>):用于XREADGROUP命令,表示迄今还没有发送给组中使用者的信息
*:用于XADD命令中,让系统自动生成id
位域类型bitfield
将一个Redis字符串看作为是一个由二进制位组成的数组并能对变长位宽和任意没有字节对齐的指定整型位域进行寻址和修改
相关文章:
Redis十大数据类型详解
Redis(一) 十大数据类型 redis字符串(String) string是redis最基本的类型,一个key对应一个value string类型是二进制安全的,意思是redis的string可以包含任何数据。例如说是jpg图片或者序列化对象 一个re…...
.net core 中使用AsyncLocal传递变量
官网 https://github.com/dotnet/runtime/blob/16b6369b7509e58c35431f05681a9f9e5d10afaa/src/libraries/System.Private.CoreLib/src/System/Threading/AsyncLocal.cs#L45 AsyncLocal是一个在.NET中用来在同步任务和异步任务中保持全局变量的工具类。它允许你在不同线程的同…...
C#Halcon视觉流程框架个人封装流程心得
一,实现效果 1,初始界面 2,加载流程 3,点击流程列表“加载2D图像" 4,设置图像预处理参数与画线找线 5,执行流程 6,折叠工具箱 7,折叠操作区域 二,实现流程 1&…...
web第一次作业
系统登录代码: <!DOCTYPE html> <html lang"zh"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>第一次作业</title…...
Kylin Linux V10 替换安装源,并在服务器上启用 EPEL 仓库
查看系统版本: cat /etc/os-releaseNAME"Kylin Linux Advanced Server" VERSION"V10 (Lance)" ID"kylin" VERSION_ID"V10" PRETTY_NAME"Kylin Linux Advanced Server V10 (Lance)" ANSI_COLOR"0;31"u…...
备战蓝桥杯:树的存储与遍历(dfs和bfs)
树的概念 树的逻辑结构是树形结构,和我们之前的线性结构又不太一样了,是一种一对多的关系 树的结点分为根节点,叶子结点(没有分支的结点) 以及分支结点 从上往下看,每个结点都有0个或多个后继 从下往上…...
[Deep Learning] Anaconda+CUDA+CuDNN+Pytorch(GPU)环境配置-2025
文章目录 [Deep Learning] AnacondaCUDACuDNNPytorch(GPU)环境配置-20250. 引子1. 安装Anaconda1.1 安装包下载:1.2 启用安装包安装1.3 配置(系统)环境变量1.4 验证Anaconda是否安装完毕1.5 Anaconda换源 2. 安装CUDACuDNN2.1 判断本机的CUDA版本2.2 下载适合自己CU…...
计算机的错误计算(二百一十二)
摘要 利用两个大模型计算 实验表明,两个大模型均进行了中肯的分析。另外,其中一个大模型给出了 Python代码,运行后,结果中有7位错误数字;而一个大模型进行加减运算时出错。 例1. 计算 下面是与一个大模型的对话…...
Inxpect毫米波安全雷达:精准检测与动态保护,工业自动化可靠选择
Inxpect毫米波安全雷达具备“精准检测、动态区域保护、环境适应性”三大核心功能。在工业自动化和机器人系统里,这些功能发挥着重要作用,有助于提升安全性与效率。Inxpect雷达运用毫米波技术,在诸如存在灰尘、烟雾或碎屑等复杂环境中,也能保持…...
springboot房屋租赁管理系统
Spring Boot房屋租赁管理系统是一种基于Spring Boot框架构建的,旨在解决传统租房市场中房源信息更新不及时、虚假信息泛滥、交易流程繁琐等问题的信息化解决方案。 一、系统背景与目的 随着城市化进程的加快和人口流动性的增强,租房市场需求急剧增长。…...
如何使用wireshark 解密TLS-SSL报文
目录 前言 原理 操作 前言 现在网站都是https 或者 很多站点都支持 http2。这些站点为了保证数据的安全都通过TLS/SSL 加密过,用wireshark 并不能很好的去解析报文,我们就需要用wireshark去解密这些报文。我主要讲解下mac 在 chrome 怎么配置的&…...
Gensim字典和语料库
自然语言处理(NLP)是计算机科学中涉及语言数据处理的核心领域之一,应用广泛,包括文本分类、情感分析、机器翻译、主题建模等任务。在处理海量文本时,如何将非结构化的语言数据转化为机器能够理解的结构化数据,是解决这些任务的关键。 Gensim 是一个用于处理和分析文本数…...
RK3588-NPU pytorch-image-models 模型编译测试
RK3588-NPU pytorch-image-models 模型编译测试 一.背景二.操作步骤1.下载依赖2.创建容器3.安装依赖4.创建脚本A.生成模型名列表B.生成ONNX模型C.生成RKNN模型D.批量测试脚本 一.背景 测试RK3588-NPU对https://github.com/huggingface/pytorch-image-models.git中模型的支持程…...
Doris 导入慢该如何排查及优化?
在使用 Apache Doris 进行数据导入时,经常会遇到导入性能不理想的情况。今天我们就来深入分析这些问题的原因及其解决方案! Stream Load 导入慢 Stream Load 支持通过 HTTP 协议将本地文件或数据流导入到 Doris 中的一种方式,其速度还是相当…...
iOS - 关联对象的实现
根据源码总结一下关联对象(Associated Objects)的实现: 1. 关联对象的基本结构 // 对象的 isa 结构中包含关联对象标记 union isa_t {struct {uintptr_t nonpointer : 1; // 是否使用优化的 isauintptr_t has_assoc : 1; // 是否有关联对象// ...其他位…...
AudioGPT全新的 音频内容理解与生成系统
AudioGPT全新的 音频内容理解与生成系统 ChatGPT、GPT-4等大型语言模型 (LLM) 在语言理解、生成、交互和推理方面表现出的非凡能力,引起了学界和业界的极大关注,也让人们看到了LLM在构建通用人工智能 (AGI) 系统方面的潜力。 现有的GPT模型具有极高的语言生成能力,是目前最…...
【maptalks】加载SVG和GIF
加载SVG和GIF 一、加载SVG方法一:直接载入SVG文件,类似载入图片方法二:载入SVG路径 二、加载GIFVUEmaptalks实现GIF可拖拽点VUEmaptalks实现GIF跟随线条动画 一、加载SVG 方法一:直接载入SVG文件,类似载入图片 缺点&…...
【HarmonyOS NEXT】鸿蒙跳转华为应用市场目标APP下载页
【HarmonyOS NEXT】鸿蒙跳转华为应用市场目标APP下载页 一、问题背景: 如今,大家都离不开各种手机应用。随着鸿蒙系统用户越来越多,大家都希望能在鸿蒙设备上快速找到想用的 APP。华为应用市场里有海量的 APP,但之前从鸿蒙设备进…...
《leetcode-runner》【图解】如何手搓一个debug调试器——调试程序【JDI开发】【万字详解】
前文: 《leetcode-runner》如何手搓一个debug调试器——引言 《leetcode-runner》如何手搓一个debug调试器——架构 《leetcode-runner》如何手搓一个debug调试器——指令系统 本文主要聚焦于如何编写调试程序 背景 在leetcode算法背景下,用户只编写了…...
【高阶数据结构】线段树加乘(维护序列)详细解释乘与加懒标记
文章目录 1.题目[AHOI2009] 维护序列 2.懒标记处理先加后乘的形式1. 先加后乘的操作 先乘后加的形式2. 先乘后加的操作**乘法操作****加法操作** 懒标记的下传 3.代码 1.题目 题目来源:https://www.luogu.com.cn/problem/P2023 [AHOI2009] 维护序列 题目背景 老师交给小可可…...
ElasticSearch常见知识点
1、什么是ElasticSearch? Elasticsearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎,每个字段都被索引并可被搜索,可以快速存储、搜索、分析海量的数据。 2、什么是倒排索引? 正常的索引是比如二叉树。倒排索引是用内容…...
ARM与x86:架构对比及其应用
典型的服务器架构的x86采用模块化方法,基于带有可更换组件的主板。CPU和其他组件(如显卡和GPU、内存控制器、存储或处理核心)针对特定功能进行了优化,可以轻松更换或扩展。然而,这种便利是有代价的;这些硬件…...
macos 搭建 ragflow 开发环境
ragflow 是一个很方便的本地 RAG 库。本文主要记录一下在本机的部署过程 1、总体架构说明 开发环境:macbook pro(m1),16G内存 512G固态 因本机的内存和硬盘比较可怜,所以在服务器上部署基础 docker 包,…...
CVPR 2024 人体姿态估计总汇(3D人体、手语翻译和人体网格恢复/重建等)
1、Human Pose Estimation(人体姿态估计) CLOAF: CoLlisiOn-Aware Human FlowMeta-Point Learning and Refining for Category-Agnostic Pose EstimationSurMo: Surface-based 4D Motion Modeling for Dynamic Human Rendering ⭐codeGALA: Generating Animatable Layered Ass…...
docker 安装mongodb
1、先获取mongodb镜像 docker pull mongo:4.2 2、镜像拉取完成后,运行mongodb容器 docker run \ -d \ --name mongo \ --restartalways \ --privilegedtrue \ -p 27017:27017 \ -v /home//mongodb/data:/data/db \ mongo:4.2 --auth 3、mongodb服务配置 如上图&…...
82_Redis缓存雪崩击穿穿透问题
在实际业务应用中,Redis常常与诸如MySQL这类关系型数据库协同工作,旨在缓解后端数据库的负担。它扮演了一个高效缓存的角色,特别是针对那些频繁被访问的热点数据。当用户发起查询时,系统首先尝试从Redis中获取这些数据。由于Redis提供了极快的访问速度,如果数据存在于Redi…...
统计学习算法——逻辑斯谛回归
内容来自B站Up主:动画讲编程https://www.bilibili.com/video/BV1CR4y1L7RC、风中摇曳的小萝卜https://www.bilibili.com/video/BV17r4y137bW,仅为个人学习所用。 极大似然估计 几率、概率与似然 几率是指某个事件发生的可能性与不发生的可能性之比&am…...
设计模式03:行为型设计模式之策略模式的使用情景及其基础Demo
1.策略模式 好处:动态切换算法或行为场景:实现同一功能用到不同的算法时和简单工厂对比:简单工厂是通过参数创建对象,调用同一个方法(实现细节不同);策略模式是上下文切换对象,调用…...
C51交通控制系统的设计与实现
实验要求: 本题目拟设计一个工作在十字路口的交通信号灯控制系统,设东西方向为主干道A,南北方向为辅助干道B。要求:(1)用发光二极管模拟交通灯信号;(2)灵活控制主、辅干…...
css 实现自定义虚线
需求: ui 画的图是虚线,但是虚线很宽正常的border 参数无法做到 进程: 尝试使用 border:1px dashed 发现使用这个虽然是虚线但是很短密密麻麻的 这并不是我们想要的那就只能换方案 第一个最简单,让ui 画一个图然…...
网络协议基础--协议分层
一.协议概述 1.TCP/IP 传输协议概述 TCP/IP 传输协议,即传输控制 / 网络协议,也被称作网络通讯协议。它是网络中使用的最基本通信协议,对互联网中各部分进行通信的标准和方法予以规定。通常所说的 TCP/IP 协议并非仅指 TCP 和 IP 两个协议&a…...
iOS - TLS(线程本地存储)
从源码中,详细总结 TLS (Thread Local Storage) 的实现: 1. TLS 基本结构 // TLS 的基本结构 struct tls_data {pthread_key_t key; // 线程本地存储的键void (*destructor)(void *); // 清理函数 };// 自动释放池的 TLS class Autorelease…...
主链和Layer2之间资产转移
主链和Layer2之间资产转移 主链和Layer2之间资产转移是实现Layer2技术的关键环节,以下是资产转移的流程、流行解决方案及原理: 资产从主链转移到Layer2 用户在主链上发起一笔交易,将资产发送到一个特定的智能合约地址,这个合约是主链与Layer2之间的桥梁。智能合约会锁定用…...
深度学习-算法优化与宇宙能量梯度分布
在当今迅速发展的科技世界中,算法优化和能量分布问题已成为研究的热点,尤其是在人工智能、机器学习和物理科学领域。算法优化通常涉及提高计算效率和降低资源消耗,而宇宙能量梯度分布则涉及宇宙中能量的分布和流动方式。两者看似是完全不同的…...
《Java核心技术II》实现服务器
实现服务器 这节实现简单服务器,可以向客户端发送信息。 服务器套接字 ServerSocket用于建立套接字 var s new ServerSocket(8189); 建立一个监听端口8189的服务器。 Socket incoming s.accept(); 此对象可以得到输入流和输出流。 InputStream inStream incomin…...
登上Nature!交叉注意力机制 发顶会流量密码!
在深度学习领域,交叉注意力融合技术正迅速崛起,并成为处理多模态数据的关键工具。这一技术通过有效地整合来自不同模态的信息,使得模型能够更好地理解和推理复杂的数据关系。 随着多模态数据的日益普及,如图像、文本和声音等&…...
Windows 正确配置android adb调试的方法
下载适用于 Windows 的 SDK Platform-Tools https://developer.android.google.cn/tools/releases/platform-tools?hlzh-cn 设置系统变量,路径为platform-tools文件夹的绝对路径 点击Path添加环境变量 %adb%打开终端输入adb shell 这就成功了!...
leetcode刷题记录(五十六)——53. 最大子数组和
(一)问题描述 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,…...
SQL BETWEEN 操作符
SQL BETWEEN 操作符 SQL中的BETWEEN操作符用于选取介于两个值之间的数据范围。这些值可以是数字、文本或日期。BETWEEN操作符是SQL中非常实用的一个功能,它可以帮助我们快速地筛选出符合特定条件的数据记录。 BETWEEN操作符的基本用法 BETWEEN操作符的基本语法如…...
分布式 IO 模块:引领立体车库迈向智能化新时代
在城市空间愈发珍贵的当下,立体车库作为高效利用空间的停车解决方案,正日益普及。而明达技术MR30分布式 IO 模块的应用,如同为立体车库注入了智能 “芯” 动力,让停车变得更加便捷、高效、智能。 MR30分布式 IO 模块,作…...
《C++11》深入剖析正则表达式库:解锁文本处理的高效之道
在现代编程领域,文本处理是一项不可或缺的任务,而正则表达式无疑是这一领域的强大利器。C11标准库的引入,为C开发者带来了正则表达式库,极大地丰富了C在文本处理方面的能力。本文将全方位、多角度地深入探讨C11正则表达式库&#…...
Mongodb相关内容
Mongodb相关内容 1、Windows平台安装2、Linux平台安装3、基本常用命令文档更新删除文档分页查询索引 pymongo操作 客户端下载:https://download.csdn.net/download/guoqingru0311/90273435 1、Windows平台安装 方式一: 方式2: 方式3&#…...
United States of America三种表示
"United States of America", "United States", 和 "America" 都表示美国,但它们的使用场景和背景略有不同。以下是关于为什么这些名称可以合在一起表示美国的详细解释: 1. "United States of America" 全称&a…...
【Redis】Redis特性及其应用场景
目录 Redis特性 在内存中存储数据 可编程性 可扩展性 持久化 集群 高可用 补充特性 Redis的应用场景 数据库 缓存 会话存储 消息队列中间件 Redis特性 Redis是一个在内存中存储数据的中间件,用于作为数据库、数据缓存。Redis在分布式系统中有着较…...
Vue 使用blob下载文件,打开文件,文件是损毁的
文章目录 问题分析解决 问题 如图所示,在进行图片下载时下载的文件显示图片已被损 分析 代码如下: import axios from axios; async function downloadImage1(link, name) {try {const response await axios.get(link, {responseType: blob, // 设置响…...
Android 通过systrace如何快速找到app的刷新率
1. 如何抓取systrace: 方法一 andrdoid11以及以上的android版本都支持使用perfetto的方式抓取systrace,简单好用。 adb shell perfetto --buffer 512mb --time 10s --out /data/misc/perfetto-traces/perfetto_trace gfx input view wm am hal res dalv…...
vulnhub靶场【Raven系列】之2 ,对于mysql udf提权的复习
前言 靶机:Raven-2,IP地址为192.168.10.9 攻击:kali,IP地址为192.168.10.2 都采用虚拟机,网卡为桥接模式 文章所用靶机来自vulnhub,可通过官网下载,或者通过链接:https://pan.quark.cn/s/a65…...
【单片机开发 - STM32(H7)】启动流程、方式、烧录方式详解
如侵权,联系删,个人总结学习用 参考资料:(最末尾有我的原生笔记,那个格式规范点) 安富莱 ARM汇编伪指令详解-CSDN博客 【STM32】STM32内存映射以及启动过程(超详细过程)-CSDN博客…...
[手机Linux] ubuntu 错误解决
Ubuntu: 1,ttyname failed: Inappropriate ioctl for device 将 /root/.profile 文件中的 mesg n || true 改为如下内容。 vim /root/.profile tty -s && mesg n || true 2,Errors were encountered while processing: XXX XXXX sudo apt-get --purge remove xxx…...
springCloudGateway+nacos自定义负载均衡-通过IP隔离开发环境
先说一下想法,小公司开发项目,参考若依框架使用的spring-cloud-starter-gateway和spring-cloud-starter-alibaba-nacos, 用到了nacos的配置中心和注册中心,有多个模块(每个模块都是一个服务)。 想本地开发,…...