Redis 版本变更的变化
Redis 版本变更的变化
以下是 Redis 主要版本的清单及其核心功能变化的梳理,按时间顺序整理关键版本演进 8版本没有整理:
Redis 1.0 (2009)
-
初始版本:发布首个稳定版本,支持基本键值存储。
-
核心特性:
-
支持字符串(String)、列表(List)、集合(Set)数据类型 。
-
简单持久化(基于快照的 RDB)。
-
RDB(Redis Database)是 Redis 默认的持久化方式,通过生成内存数据的二进制快照文件(如 dump.rdb)实现数据持久化。其核心原理是周期性地将内存中的数据集以压缩的二进制格式保存到磁盘,重启时通过加载 RDB 文件快速恢复数据
-
工作原理
-
触发机制
- 手动触发:通过
SAVE
(阻塞主进程)或BGSAVE
(后台异步)命令生成快照 - 自动触发:根据
redis.conf
中save
配置(如save 60 10000
表示 60 秒内 10,000 次写操作触发快照) - 其他触发:主从复制时主节点自动触发、服务关闭时若未开启 AOF 也会触发
- 手动触发:通过
-
生成过程
- Redis 主进程调用 fork() 创建子进程,子进程负责写入数据到临时文件
- 子进程遍历内存数据并序列化为二进制格式,写入临时 RDB 文件
- 完成后替换旧 RDB 文件,保证原子性
- 写时复制(Copy-On-Write):父进程继续处理请求,子进程仅复制修改前的数据页,减少内存占用
-
恢复流程
- Redis 启动时自动检测并加载 RDB 文件,将数据载入内存
-
-
缺点与限制(痛点)
-
数据丢失风险:若两次快照间发生宕机,可能丢失最后一次快照后的数据
-
资源消耗:
- 内存:
fork()
子进程时,数据集过大会占用额外内存(尤其在写操作频繁时) - CPU:大规模数据序列化可能影响性能
- 内存:
-
版本兼容性:不同 Redis 版本的 RDB 文件格式可能不兼容
-
-
-
工作流程图
-
Redis 2.0 (2010)
-
主要改进:
-
新增 哈希(Hash) 和 有序集合(Sorted Set/ZSet) 数据类型。
-
支持 主从复制(Replication)。
-
Redis 2.0 版本正式将主从复制(Master-Slave Replication)作为核心功能引入,奠定了其高可用架构的基础。以下是该机制的核心特性和实现原理:
-
核心机制
-
异步单向复制
- 数据流动方向为主节点(Master)→ 从节点(Slave) ,主节点处理写操作,从节点仅支持读操作(读写分离)。
- 复制过程默认异步执行,主节点无需等待从节点确认即可继续处理新请求
-
全量复制(Full Resynchronization)
-
首次同步流程:
- 从节点发送 PSYNC ? -1 命令请求全量数据;
- 主节点执行 BGSAVE 生成 RDB 快照文件,期间新写入命令存入 Replication Buffer;
- RDB 文件传输至从节点,从节点清空旧数据并加载快照;
- 主节点将缓冲区中的增量命令发送给从节点,完成最终同步
-
-
增量复制(Partial Resynchronization)
-
断点续传机制:
- 主节点维护 Repl Backlog Buffer(环形缓冲区,默认 1MB),记录最近的写命令
- 从节点断线重连后,通过
PSYNC <runid> <offset>
携带断点偏移量,主节点从缓冲区提取差异命令发送
-
-
-
优势与局限性
-
核心优势
- 高可用性: 主节点故障时可手动切换从节点为新的主节点
- 读写分离:从节点分担读请求压力,提升系统并发能力
- 数据冗余:实现热备份,降低单点故障风险
-
主要局限性
- 数据一致性延迟:异步复制导致从节点数据可能短暂落后主节点
- 主节点单点瓶颈:所有写操作集中在主节点,高并发写场景易成性能瓶颈
- 运维复杂度:故障恢复需人工干预或依赖哨兵机制(Redis 2.8 后引入 Sentinel))
-
-
流程图
-
-
-
引入 虚拟内存(Virtual Memory,后弃用)。
-
Redis 2.6 (2012)
-
重要功能:
-
支持 Lua 脚本(原子性执行)。
- 后续补充基础知识
-
新增
BITCOUNT
、BITOP
等位操作命令。-
BITCOUNT 命令
-
功能:统计位图(Bitmap)中值为 1 的二进制位数量
-
语法:BITCOUNT key [start end]
-
参数:
start
和end
为字节偏移量(非位偏移),用于指定统计范围 -
核心应用场景:
- 用户行为统计
例如统计用户每月签到次数(每个位代表一天是否签到) - 在线用户数统计
用位图记录用户在线状态,通过 BITCOUNT 快速获取在线人数 - 数据压缩与聚合
将布尔型数据(如是否点击广告)压缩为位图,统计总触发次数
- 用户行为统计
-
-
BITOP 命令
-
功能:对多个位图进行按位运算(AND、OR、XOR、NOT),结果存储到目标键
-
语法:
BITOP <AND|OR|XOR|NOT> destkey key [key ...]
-
限制:NOT 操作仅支持单个输入键
-
核心应用场景
- 用户行为交叉分析
例如通过BITOP AND
计算两日共同活跃用户 - 布隆过滤器实现
合并多个哈希函数生成的位图,快速判断元素是否存在 - 数据合并与筛选
如统计某商品在不同促销活动中被点击的用户(OR
运算)
- 用户行为交叉分析
-
-
-
客户端超时控制(
CLIENT KILL
)。
-
Redis 2.8 (2013)
-
关键更新:
-
PSYNC 机制:优化主从复制断点续传。
-
AOF 重写优化:子进程生成 AOF 文件,减少阻塞。
-
基本概念
AOF(Append Only File)是 Redis 的一种持久化机制,通过记录所有写操作命令的日志文件实现数据持久化。与 RDB 的快照方式不同,AOF 以追加写入文本日志的形式保存数据变更历史,重启时通过重放日志中的命令恢复数据
-
核心特点:
- 实时性:支持秒级甚至毫秒级数据持久化,降低数据丢失风险
- 可读性:日志文件为文本格式,可直接查看操作记录
-
工作原理
-
AOF 的工作流程分为四个阶段
-
命令追加:
- 所有写操作(如
SET
、DEL
)执行后,命令会被追加到内存中的 AOF 缓冲区(aof_buf
)。
- 所有写操作(如
-
文件同步:
-
根据配置的同步策略(
appendfsync
),将缓冲区内容写入磁盘的 AOF 文件:- always:每条命令立即同步到磁盘,数据零丢失,但性能差。
- everysec(默认):后台线程每秒同步一次,最多丢失 1 秒数据,性能与安全性平衡。
- no:由操作系统决定同步时机,可能丢失较多数据,性能最佳。
-
-
文件重写(Rewrite):
-
目的:压缩 AOF 文件体积,去除冗余命令(如多次修改同一键的操作合并为最终状态)。
-
触发条件:
- 手动触发:执行
BGREWRITEAOF
命令。 - 自动触发:根据
auto-aof-rewrite-percentage
(如增长 100%)和auto-aof-rewrite-min-size
(如 64MB)配置。
- 手动触发:执行
-
过程:
- Fork 子进程生成新 AOF 文件,主进程继续处理请求并将新命令写入 重写缓冲区,子进程完成后合并新旧数据。
-
-
数据恢复:
- Redis 重启时优先加载 AOF 文件,按顺序重放所有命令恢复数据。
-
-
优缺点分析
-
优势:
- 数据高可靠:默认配置(
everysec
)最多丢失 1 秒数据,适合对数据一致性要求高的场景。 - 操作可追溯:日志文件便于审计和误操作恢复(如删除错误命令后重启)。
- 数据高可靠:默认配置(
-
劣势:
- 文件体积大:文本日志占用空间远大于 RDB 二进制快照。
- 恢复速度慢:重放大量命令耗时较长,尤其在大数据量场景下。
-
-
应用场景与建议
-
推荐场景:
- 对数据丢失容忍度低(如金融交易日志)。
- 需要记录完整操作历史的场景(如审计追踪)。
-
实践建议:
- 启用混合持久化:结合 RDB 和 AOF 优势,提升恢复效率。
- 监控与维护:定期检查 AOF 文件大小,避免磁盘空间不足;使用
redis-check-aof
工具修复损坏文件。
-
-
aof 和 rdb简单对比
特性 AOF RDB 数据安全性 高(秒级同步) 较低(依赖快照周期) 文件体积 较大(文本日志) 较小(二进制压缩) 恢复速度 慢(命令重放) 快(直接加载快照) 适用场景 高数据一致性需求 大规模数据备份、快速恢复 -
结构图
-
-
-
新增
SCAN
命令(代替KEYS
,避免阻塞):KEYS
全量阻塞:一次性扫描整个数据库,时间复杂度为 O(N) ,在数百万级键值场景下会长时间阻塞主线程 ,SCAN
非阻塞分片:通过游标(Cursor)分批次迭代,每次仅扫描少量键,分散 CPU 和内存压力。- SCAN 和 KEYS 命令对比 后续展开
- SCAN 命令介绍 :
-
Redis 3.0 (2015)
-
里程碑版本:
- Redis 集群(Cluster) :支持分布式分片(16384 个 哈希槽 ),自动故障转移。
- 哨兵(Sentinel) 高可用方案:监控和自动故障转移。
- 新增
WAIT
命令(同步复制到指定副本数)。
Redis 3.2 (2016)
-
核心改进:
- 新增 GEO 地理空间数据类型(支持 地理位置计算 )。
- 支持 Lua 脚本调试。
- 内存优化:字符串类型支持更紧凑的存储格式(
embstr
)。
Redis 4.0 (2017)
-
重大升级:
- 模块化架构:允许通过动态加载模块扩展功能(如 RedisSearch、RedisGraph)。
- 混合持久化: RDB + AOF 结合 (重启时优先加载 RDB,再追加 AOF)。
- 内存回收优化:惰性删除(
UNLINK
代替DEL
,异步释放内存)。 - 新增
MEMORY
命令,分析内存使用。
Redis 5.0 (2018)
-
关键特性:
- Stream 数据类型:支持消息队列模式(消费者组、消息持久化)。
- 集群代理(Redis Cluster Proxy) :简化集群客户端访问。
- RDB 增强:支持存储副本的复制偏移量(Partial Resynchronization)。
- 弃用旧命令(如
SLAVEOF
改为REPLICAOF
)。
Redis 6.0 (2020)
-
革命性更新:
- 多线程 I/O:主线程处理命令,多线程处理网络 I/O(提升吞吐量)。
- SSL/TLS 支持:加密客户端与服务端通信。
- ACL 权限控制:细粒度用户权限管理。
- 客户端缓存(Client-side Caching) :支持
CLIENT TRACKING
机制。 - RESP3 协议:更丰富的数据类型编码(如
HELLO
命令切换协议版本)。
Redis 6.2 (2021)
-
功能增强:
- OOM 错误改进:提供更详细的内存溢出诊断信息。
- 新增
STRALGO
命令(字符串比对算法,如 LCS)。 - 集群模式支持副本迁移(Replica Migration)。
Redis 7.0 (2022)
-
核心升级:
- Multi-Part AOF:将 AOF 拆分为多个文件,避免重写时阻塞。
- Sharded Pub/Sub:集群模式下支持分片发布订阅。
- FUNCTION 命令:支持在 Redis 中定义和执行 Lua 函数库。
- ACL 增强:支持基于 Key 的权限控制(如
%R~orders:*
表示正则匹配)。
Redis 7.2 (2023)
-
改进重点:
- Triggered 集群自动平衡: 动态调整分片分布 。
- 新增
HSTACK
、HRANDFIELD
等哈希命令。 - 优化大 Key 删除性能(后台线程处理)。
Redis 7.4 (2024 Preview)
-
最新特性(截至当前):
- Server-assisted 客户端缓存:更高效的客户端缓存失效通知。
- TLS 增强:支持 OCSP Stapling。
- 性能优化:进一步降低多线程 I/O 的延迟。
Redis 7.4 (2024 Preview)
-
最新特性(截至当前):
- Server-assisted 客户端缓存:更高效的客户端缓存失效通知。
- TLS 增强:支持 OCSP Stapling。
- 性能优化:进一步降低多线程 I/O 的延迟。
版本演进趋势总结
- 性能提升:从单线程到多线程 I/O、后台删除、内存优化。
- 扩展性增强:集群模式、模块化架构、分片 Pub/Sub。
- 可靠性改进:混合持久化、AOF 多文件、PSYNC 断点续传。
- 安全性强化:ACL、TLS 加密、细粒度权限控制。
- 功能丰富化:Stream、GEO、函数库、客户端缓存等。
建议版本选择
- 生产环境:推荐使用 Redis 7.x(最新稳定版),享受性能优化和新功能。
- 旧系统升级:从 Redis 3.x/4.x 迁移到 6.x/7.x 以支持 TLS 和 ACL。
- 兼容性注意:部分命令在跨版本升级时可能被弃用(如
SLAVEOF
→REPLICAOF
)。
如需更详细的版本变更日志,可参考 Redis 官方 Release Notes。
相关文章:
Redis 版本变更的变化
Redis 版本变更的变化 以下是 Redis 主要版本的清单及其核心功能变化的梳理,按时间顺序整理关键版本演进 8版本没有整理: Redis 1.0 (2009) 初始版本:发布首个稳定版本,支持基本键值存储。 核心特性: 支持字符串&…...
kubernetes》》k8s》》ConfigMap 、Secret
configmap官网 ConfigMap是一种 API 对象,使用时, Pods 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。ConfigMap将配置和Pod解耦,更易于配置文件的更改和管理。ConfigMap 并不提供保密或者加密功能。 如果你想存储的数据是机密的…...
【React】基本语法
基本语法 通过jsx的语法可以在js中写html函数组件 / class组件的语法、父子组件传参、事件react 生命周期根据状态(数据)动态渲染组件 / 列表渲染 / 表单渲染class组件中的ref、ref回调函数 什么是react ? 用于构建用户界面的 JavaScript 库,主要用于构建…...
ubunut24.04 bash和zsh同时使用conda
文章目录 ubunut24.04 bash和zsh同时使用conda功能一、安装miniconda3二、bash中初始化conda以及安装命令补全1. bash中初始化conda2. bash中安装conda命令补全功能 三、zsh中初始化conda以及安装命令补全1. zsh中初始化conda2. zsh中安装conda命令补全功能3. 在~/.zshrc文件中…...
深度学习入门:神经网络
目录 1. 从感知机到神经网络1.1 神经网络的例子1.2 复习感知机1.3 激活函数登场 2 激活函数2.1 sigmoid函数2.2 阶跃函数的实现2.3 阶跃函数的图形2.4 sigmoid函数的实现2.5 sigmoid函数和阶跃函数的比较2.6 非线性函数2.7 ReLU函数 3 多维数组的运算3.1 多维数组 恒等函数soft…...
Unity有限制状态机FSM
我是标题 前言有限制状态机框架框架图:主要代码: 前言 一般的小型游戏的状态机会使用一个枚举类来枚举所有的状态,然后使用一个switch case来处理所有状态的行为逻辑,但是用这种方式会形成大量的冗余,因为所有的行为逻…...
bash的特性-命令和文件自动补全
在Linux或Unix操作系统中,Bash(Bourne Again SHell)是最常用的命令行解释器之一。它提供了丰富的功能来提升用户的交互体验,其中命令和文件名的自动补全是提高效率的一大利器。本文将详细介绍Bash中的自动补全功能,包括…...
聊聊价值投资
投资的必要性 如果手上现在有10w元,投资时间是50年,就算年化收益率只有15%,最终的财富值也会超过1亿元。而且通货膨胀会让你的存款购买力越来越少,如果你有无法及时花出去的钱,投资是必要的。05年的时候我家楼下的包子…...
ADI的BF561双核DSP怎么做开发,我来说一说(十六)触摸屏的设计
作者的话 ADI的双核DSP,最早的一颗是Blackfin系列的BF561,这颗DSP我用了很久,比较熟悉,且写过一些给新手的教程。 硬件准备 ADZS-BF561-EZKIT开发板:ADI原厂评估板 AD-ICE20000仿真器:ADI现阶段性能最好…...
基于labview的2PSK调制与解调
前面板如上图所示。 以上为产生随机序列的程序 以上为星座图程序 如需要源代码可联系我...
2021-11-01 C++输入十个数求最大最小和第二大第二小的值
缘由c语言输入十个数求最大最小和第二大第二小的值-编程语言-CSDN问答 这是个有意思的题目,考虑可扩展...如果是4个元素的数组,实现O(N)排序 void 输入十个数求最大最小和第二大第二小的值() {//缘由https://ask.csdn.net/ques…...
红人矩阵化运营策略:2025跨境电商如何高效布局海外红人营销
在全球社交媒体营销日益精细化的今天,跨境电商品牌正从单一红人合作转向系统化、团队化的“红人矩阵化运营”。尤其在TikTok、Instagram、YouTube等主流平台逐渐成熟的背景下,如何构建高效的海外红人营销矩阵,成为品牌实现全域曝光与精准转化…...
c# Kestrel
Kestrel 是 .NET 中用于 ASP.NET Core 应用程序的跨平台 Web 服务器。它是轻量级且高性能的,能够处理大量并发连接,常被用作 ASP.NET Core 应用的默认服务器。以下为你介绍 Kestrel 的基本使用和配置: 基本使用 创建一个简单的 ASP.NET Cor…...
算法训练之贪心
♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...
ThreeJs实现裸眼3D地球仪
一、实现效果 使用Three.js实现裸眼3D地球仪 二、实现代码 代码如下: <!DOCTYPE html> <html> <head><title>3D Earth</title><style>body { margin: 0; }canvas { display: block; }</style> </head> <body…...
0x07.Redis 的 hash 是什么?
回答重点: Redis 的 Hash 是一种键值对集合,允许将多个字段与其对应的值存储在同一个键中,从而方便管理和操作关联数据。它的主要特点包括: 高效存储:Hash 采用哈希表实现,能够在内存中高效地存储和操作小规模的数据集,非常适合存储对象的属性。快速操作:支持对字段的…...
今日一记:逆序打印字符、五人年龄计算、对N个数排序
今日进行三道题的练习 题目一:逆序打印字符 核心需求:将输入的n个字符以相反顺序输出。 算法分析: 递归思想: 递归函数先读取字符,直到输入结束(如换行符或EOF)。 在递归返回时打印字符&…...
【笔记】对抗训练-GAN
对抗训练-GAN 深度学习中 GAN 的对抗目标函数详解与最优解推导一、GAN 的基本对抗目标函数二、判别器与生成器的博弈目标三、判别器的最优解推导四、最优判别器的含义五、总结六、WGAN 的动机(为后续铺垫) 深度学习中 GAN 的对抗目标函数详解与最优解推导…...
Python六大数据类型与可变类型
数字类型包括整型(int),浮点型(float),布尔型(bool),复数型(complex)。整型只能存储整数,浮点型可以存储整数和小数,布尔型…...
回溯-day65
回溯 什莫事回溯 回溯法也可以叫做回溯搜索法,它是一种搜索的方式 回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可以加一些剪枝的操作,但也改不了回溯法就是穷举的本…...
(2)VTK C++开发示例 --- 绘制多面锥体
文章目录 1. 概述2. CMake链接VTK3. main.cpp文件4. 演示效果 更多精彩内容👉内容导航 👈👉VTK开发 👈 1. 概述 VTK C开发示例程序; 使用C 和VTK绘制一个多面锥体。 环境说明系统ubuntu22.04、windows11cmake3.22、3.2…...
合同智能审核技术的发展与应用
一、背景与行业现状 合同审查作为企业合同管理的关键环节,其核心价值在于确保合同内容符合法律法规要求并契合企业内部政策。随着企业业务规模扩张带来的合同数量激增,传统人工审查方式在效率和成本方面的局限性日益凸显。这一现状为人工智能技术在合同…...
cryptozombies合约7
我们的合约几乎就要完成了!让我们加上一个事件. 事件 是合约和区块链通讯的一种机制。你的前端应用“监听”某些事件,并做出反应。 例子: // 这里建立事件 event IntegersAdded(uint x, uint y, uint result);function add(uint _x, uint _y) public…...
DeepSeek 接入 Word 完整教程
一、前期准备 1.1 注册并获取 API 密钥 访问 DeepSeek 平台: 打开浏览器,访问 DeepSeek 官方网站(或您使用的相应平台)。注册并登录您的账户。 创建 API 密钥: 在用户控制面板中,找到“API Keys”或“API…...
ARCGIS PRO DSK 利用两期地表DEM数据计算工程土方量
利用两期地表DEM数据计算工程土方量需要准许以下数据: 当前地图有3个图层,两个栅格图层和一个矢量图层 两个栅格图层:beforeDem为工程施工前的地表DEM模型 afterDem为工程施工后的地表DEM模型 一个矢量图层…...
大数据学习栈记——Redis安装及其使用
本文介绍NoSQL技术:Redis的安装及其使用。操作系统:Ubuntu24.04 Redis介绍 Redis是一个键值(key-value)存储系统,即键值对非关系型数据库,和Memcached类似,目前正在被越来越多的互联网公司采用…...
前端工程化之自动化构建
自动化构建 自动化构建的基本知识历史云构建 和 自动化构建 的区别:部署环境:构建:构建产物构建和打包的性能优化页面加载优化构建速度优化 DevOps原则反馈的技术实践 encode-bundlepackage.json解读src/cli-default.tssrc/cli-node.tssrc/cl…...
camx的xml解析
ls out/target/product/<product>/gen/STATIC_LIBRARIES/libcamxgenerated_intermediates/generated g_chromatix g_facedetection g_parser g_sensorg_chromatix/ tuning相关xml的解析codeg_facedetection/ 人脸检测相关xml的解析codeg_parser/ 主要的解析manager 流…...
虚幻引擎 Anim To Tex| RVT | RT
本文上篇分为4个部分:动画驱动材质,虚拟纹理,Rendertarget,以及其他杂项的地编ta干货整理。(其中RT部分基本为UOD重要截图摘录) 本文下篇为:skylight和directional light的区别,未完…...
计算机视觉与深度学习 | 钢筋捆数识别
===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 钢筋捆数 1、初始结果2、处理效果不佳时的改进方法1、预处理增强2、后…...
关于PHP开源CMS系统ModStart的详细介绍及使用指南
关于PHP开源CMS系统ModStart的详细介绍及使用指南: 🔍 ModStart是什么? 基于Laravel框架开发的模块化CMS系统采用Apache 2.0 开源协议,完全免费可商用特别适合需要快速搭建企业级网站/管理系统的开发者 🚀 核心优势…...
VMware vCenter Server 安全漏洞升级方案一则
一、安全漏洞情况 根据VMware提供的安全建议(VMSA-024-0012),VMware vCenter Server可能经受以下漏洞的威胁: 漏洞一为VMware vCenter Server堆溢出漏洞(CVE-2024-37079,CVE-2024-37080)&…...
Linux服务之网络共享
目录 一.存储类型 二.NFS 2.1定义 2.2工作原理 2.3优势 2.4NFS工具 2.4.1exportfs 2.4.2showmount 2.5NFS相关软件及命令 2.6模拟实现NFS 准备工作(服务端和客户端都需要) 服务端位置 客户端配置 测试 补充:设置自动挂载 一.存…...
接口幂等性问题
幂等性问题出现在创建和更新数据时: 一、创建 1、在创建数据时,数据库方面,创建有效的唯一索引,用来数据兜底,并在程序中做异常捕获。 2、在插入数据时可以创建一个防重表做过滤,如果防重数据比较小又需…...
LeetCode每日一题4.14
1534. 统计好三元组 问题分析 遍历数组,满足好三元组定义,count1 思路 枚举i,j,k 代码 class Solution:def countGoodTriplets(self, arr: List[int], a: int, b: int, c: int) -> int:n len(arr)count 0for i in range…...
活动安排问题 之 前缀和与差分
文章目录 D. Robert Hood and Mrs Hood 考虑到一个活动开始时间和结束时间s,e,那么可以影响到的范围就是 s-d1,e,所以我们只需对这个每一个活动可以影响到的区域进行标记即可,当然为了降低时间复杂度,我们将使用前缀和与差分 t int(input()…...
HTTP 和 HTTPS 协议的区别及使用场景
在互联网的世界里,HTTP 和 HTTPS 是我们经常接触到的两种网络协议,它们在数据传输、安全性等方面存在诸多差异,适用的场景也各有不同。 一、HTTP 和 HTTPS 的基本概念 HTTP,即超文本传输协议(Hyper - Text Transfer Protocol),是一种用于分布式、协作式和超媒体信息…...
SAP 供应链:采购订单ME21N创建关键点
一、ME21N创建采购订单关键点 采购组织/采购组 字段:EKORG(采购组织)、EKGRP(采购组)关键点:采购组织必须与公司代码(Company Code)关联,采购组对应采购员职责范围示例&…...
重构无人机动力控制范式:Breeze 55A FOC 电调技术深度测评 ——全新Vfast 观测器如何突破效率与精度双重瓶颈
一、引言 在无人机动力系统中,电调(电子调速器)作为连接电池与电机的核心枢纽,其控制精度、效率及可靠性直接影响飞行性能。南昌长空科技的Breeze 55A FOC 电调凭借全新 Vfast 观测器技术与成熟的 FOC(矢量控制&#…...
LLM做逻辑推理题-哪一项圈出后不用找零
题目: 某天,两男两女走进一家自助餐厅,每人从机器上取下一许如下图所示的标价单。 50、95 45、90 40、85 35、80 30、75 25、70 20、65 15、60 10、55 (1)四人要同样的食品…...
第十章 json操作
第十章 json操作 文章目录 第十章 json操作一、Marshal 序列化二、Unmarshal 反序列化1 已知数据解析2 未知数据解析3 json测试 一、Marshal 序列化 package mainimport ("encoding/json""fmt" ) type Animal struct {Name string json:"name"…...
Python-Django集成yolov识别模型摄像头人数监控网页前后端分离
程序示例精选 Python-Django集成yolov识别模型摄像头人数监控网页前后端分离 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《Python-Django集成yolov识别模型摄像头人数监控网页前后端分离…...
「出海匠」借助CloudPilot AI实现AWS降本60%,支撑AI电商高速增长
🔎公司简介 「出海匠」(chuhaijiang.com)是「数绘星云」公司打造的社交内容电商服务平台,专注于为跨境生态参与者提供数据支持与智能化工作流。平台基于大数据与 AI 技术,帮助商家精准分析市场趋势、优化运营策略&…...
tsconfig.json配置不生效
说明一下我遇到的问题,这是我的配置文件代码的 {"compilerOptions": {"module": "none","target": "ES5","outFile": "./dist/bundle.js"} } 和我想象不同的是,我编译成 js 没…...
WebFlux应用中获取x-www-form-urlencoded数据的六种方法
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
GPT4O画图玩法案例,不降智,非dalle
网址如下: 玩法1:吉卜力(最火爆) 提示词:请将附件图片转化为「吉卜力」风格,尺寸不变 玩法2:真人绘制 提示词:创作一张图片,比例4:3,一个20岁的中国女孩…...
【Python爬虫】简单案例介绍1
目录 三、Python爬虫的简单案例 3.1 网页分析 单页 三、Python爬虫的简单案例 本节以科普中国网站为例。 3.1 网页分析 单页 在运用 Python 进行爬虫开发时,一套严谨且有序的流程是确保数据获取高效、准确的关键。首先,深入分析单个页面的页面结构…...
【CAPL实战:以太网】MAC地址由整数形式转换为字符串形式的自定义函数
我在文章MAC地址在字符串形式、数字形式和byte数组中的转换中讲过MAC地址在字符串形式、数字形式和byte数组中的转换方法和思想。如果你仔细阅读过这篇文章,那么MAC地址的形式要如何转换,自定义函数要如何实现它肯定也能信手拈来。如果你还不会也没有关系,今天我们尝试用另一…...
#4 我们为什么使用物联网? 以及 物联网的整体结构
设备不物联是否可以? 答案 是可以的,从项目实战的角度,还是有很多包括分拣,控制,检测等应用是分立的,这个和成本,场景,客户接受度等因素有关。 局部看,一些系统的确很简…...
MQTT、HTTP短轮询、HTTP长轮询、WebSocket
一、协议“明星定位”仿写 MQTT:物联网领域的**“明星协议”**,专为低带宽、高延迟网络环境下的设备通信而生。HTTP短轮询:数据拉取界的**“劳模”**,用简单粗暴的频繁请求换取数据更新。HTTP长轮询:短轮询的**“智能…...