# Redis vs ElasticSearch 搜索性能对比

news/2025/10/7 5:01:26/文章来源:https://www.cnblogs.com/xtkyxnx/p/19128137

# Redis vs ElasticSearch 搜索性能对比

Posted on 2025-10-07 05:00  吾以观复  阅读(0)  评论(0)    收藏  举报

关联知识库:# Redis vs ElasticSearch 搜索性能对比

Redis vs ElasticSearch 搜索性能对比

思维路线导读

本文将从历史背景→设计目标→设计哲学→技术实现四个维度深入分析RedisSearch和ElasticSearch的本质差异。通过理解两者的设计哲学,我们能够更好地在实际项目中做出技术选型决策。

核心结论

  1. 历史背景:RedisSearch(2016年)是Redis生态的轻量级扩展,ElasticSearch(2010年)是Lucene生态的企业级平台
  2. 设计目标:RedisSearch追求"在Redis高性能基础上添加搜索",ElasticSearch追求"构建完整的搜索分析生态系统"
  3. 设计哲学:RedisSearch遵循"极简主义-专注核心",ElasticSearch遵循"功能主义-全面覆盖"
  4. 技术实现:RedisSearch采用"内存优先+单线程",ElasticSearch采用"分布式+复杂索引"

⚠️ 重要声明:本文的分析基于官方文档和权威基准测试,但仍建议读者在实际项目中验证关键信息。本文试图避免AI的"附和"行为,提供批判性分析而非简单认同。


核心对比概览

特性 RedisSearch ElasticSearch
性能特点 Light but Fast Heavy but Powerful
资源消耗 轻量级,内存占用少 重量级,资源消耗大
部署复杂度 简单,单机即可 复杂,需要集群
适用场景 实时搜索、简单查询 复杂搜索、大数据分析

️ 历史背景与设计目标

RedisSearch:速度至上的极简主义

  • 诞生背景:2016年,Redis社区意识到需要搜索能力,但不愿牺牲Redis的核心优势
  • 设计目标:在保持Redis高性能的同时,提供基本的搜索功能
  • 核心理念"搜索不应该成为性能瓶颈"

官方文档依据

  • Redis官方博客明确提到RedisSearch的设计目标是"在Redis的高性能基础上添加搜索功能"
  • 强调与现有Redis数据结构的无缝集成

⚠️ 批判性思考:这种设计目标是否过于理想化?在保持高性能的同时添加搜索功能,是否存在技术上的trade-off?

ElasticSearch:功能完整的搜索平台

  • 诞生背景:2010年,基于Lucene构建,目标是解决大规模分布式搜索问题
  • 设计目标:构建企业级的搜索和分析平台
  • 核心理念"搜索应该无所不能"

官方文档依据

  • ElasticSearch官方文档强调其作为"分布式搜索和分析引擎"的定位
  • 明确支持"实时搜索、结构化搜索、分析"等多种功能

⚠️ 批判性思考:追求功能完整是否会导致系统复杂度过高?"无所不能"的设计哲学是否违背了单一职责原则?


设计哲学深度解析

RedisSearch:极简主义哲学

设计原则:KISS (Keep It Simple, Stupid)
核心思想:专注核心功能,避免过度工程化
技术选择:内存优先,算法简单,接口直观

哲学体现

  • 单一职责:只做搜索,不做其他
  • 性能优先:任何设计决策都要考虑性能影响
  • 资源友好:最小化资源占用,最大化性能产出

⚠️ 注意:这些哲学解读基于RedisSearch的技术特征推断,官方文档中并未明确表述这些设计原则。

** 对立面分析**:

  • 过度简化风险:极简主义是否会导致功能不足?
  • 扩展性限制:专注单一场景是否限制了未来的发展空间?
  • 维护成本:简单设计是否意味着功能扩展时需要重构?

ElasticSearch:功能主义哲学

设计原则:Feature Complete
核心思想:提供完整的搜索生态系统
技术选择:功能丰富,可扩展性强,企业级特性

哲学体现

  • 功能完整:搜索、分析、可视化一体化
  • 可扩展性:支持各种复杂场景和需求
  • 企业级:考虑运维、监控、安全等生产环境需求

⚠️ 注意:这些哲学解读基于ElasticSearch的功能特性推断,官方文档中并未明确表述这些设计原则。

** 对立面分析**:

  • 过度工程化风险:功能主义是否会导致系统臃肿?
  • 性能牺牲:功能完整是否必然意味着性能下降?
  • 运维复杂度:企业级特性是否增加了运维负担?

️ 技术实现架构分析

RedisSearch 技术架构

内存数据结构 → 倒排索引 → 简单查询引擎↓              ↓           ↓快速访问     高效检索     毫秒响应

关键技术决策

  • 内存存储:所有索引数据存储在内存中,避免磁盘I/O
  • 简单索引:使用Redis原生数据结构,避免复杂的索引结构
  • 同步处理:单线程模型,避免锁竞争和上下文切换

⚠️ 技术细节说明

  • 关于"单线程模型":基于Redis官方文档确认
  • 关于"内存存储":基于RedisSearch官方文档确认
  • 其他技术细节需要进一步验证

** 技术风险分析**:

  • 内存限制:数据量超过内存容量时如何处理?
  • 单点故障:单机部署的单点故障风险
  • 扩展性瓶颈:单线程模型是否限制了并发处理能力?

ElasticSearch 技术架构

分布式存储 → 复杂索引 → 查询优化器 → 聚合引擎↓          ↓          ↓          ↓高可用性   功能丰富   智能优化   深度分析

关键技术决策

  • 分布式架构:支持水平扩展,处理PB级数据
  • 复杂索引:支持多种索引类型和分析器
  • 查询优化:智能查询重写和缓存策略
  • 聚合框架:支持复杂的统计和分析操作

⚠️ 技术细节说明

  • 关于"分布式架构":基于ElasticSearch官方文档确认
  • 关于"PB级数据":基于官方性能测试文档
  • 其他技术细节需要进一步验证

** 技术风险分析**:

  • 网络开销:分布式架构的网络延迟和带宽消耗
  • 一致性挑战:分布式环境下的数据一致性保证
  • 运维复杂度:集群管理和故障排查的复杂性

性能差异根源分析

响应时间差异的技术原因

RedisSearch 快的原因

  1. 内存访问:所有数据在内存中,访问延迟<100ns
  2. 简单算法:使用哈希表和跳表,时间复杂度O(log n)
  3. 无锁设计:单线程模型,避免锁竞争
  4. 直接访问:无需网络传输,本地内存操作

⚠️ 数据来源说明

  • "访问延迟<100ns":基于Redis官方性能文档
  • "时间复杂度O(log n)":需要进一步验证具体实现
  • 其他分析基于技术架构推断

** 性能瓶颈分析**:

  • 内存容量限制:数据量增长时的性能下降
  • 单线程瓶颈:CPU密集型查询的性能限制
  • 网络扩展性:多实例部署时的网络开销

ElasticSearch 相对慢的原因

  1. 网络开销:分布式架构需要网络通信
  2. 复杂查询:查询优化和重写需要额外时间
  3. 磁盘访问:部分数据可能不在内存中
  4. 协调开销:分布式查询需要协调多个节点

⚠️ 数据来源说明

  • 这些分析基于分布式系统的一般特性
  • 具体性能数据需要官方基准测试验证

** 性能优化潜力**:

  • 缓存策略:智能缓存可以减少重复计算
  • 查询优化:查询重写和索引优化可以提升性能
  • 硬件优化:SSD和更多内存可以改善磁盘访问性能

资源消耗差异的技术原因

内存使用差异

  • RedisSearch:只存储必要的索引数据,内存占用约为ES的1/3
  • ElasticSearch:需要存储元数据、缓存、连接池等,内存占用较大

⚠️ 数据来源说明

  • "内存占用约为ES的1/3":基于MyScale博客的基准测试数据
  • 具体比例可能因数据量和配置而异

** 内存管理挑战**:

  • RedisSearch:内存不足时的数据淘汰策略
  • ElasticSearch:内存碎片化和GC性能影响

CPU使用差异

  • RedisSearch:简单算法,CPU消耗低
  • ElasticSearch:复杂的查询优化和聚合计算,CPU消耗高

⚠️ 数据来源说明

  • 这些分析基于技术架构的合理推断
  • 需要具体的性能测试数据支持

** CPU优化机会**:

  • RedisSearch:多线程查询处理的可能性
  • ElasticSearch:查询并行化和负载均衡优化

权威基准测试数据

Redis官方性能对比测试

测试环境

  • 数据集:1000万文档
  • 硬件配置:8核CPU,32GB内存
  • 测试工具:Redis官方基准测试套件

关键结果

  • 简单查询:RedisSearch平均响应时间2.1ms,ElasticSearch 8.7ms
  • 复杂查询:RedisSearch平均响应时间15.3ms,ElasticSearch 23.1ms
  • 内存使用:RedisSearch 12.8GB,ElasticSearch 28.4GB

⚠️ 数据来源:Redis官方博客 https://redis.io/blog/search-benchmarking-redisearch-vs-elasticsearch/

** 测试局限性分析**:

  • 数据集规模:1000万文档是否代表真实生产环境?
  • 硬件配置:32GB内存是否足够测试ES的完整功能?
  • 测试场景:是否覆盖了所有实际使用场景?

MyScale独立性能测试

测试环境

  • 数据集:5000万文档
  • 硬件配置:16核CPU,64GB内存
  • 测试工具:自定义基准测试框架

关键结果

  • 并发查询:RedisSearch在1000并发下响应时间稳定在5ms以内
  • 资源效率:RedisSearch内存占用约为ElasticSearch的35%
  • 扩展性:ElasticSearch在数据量超过内存容量时性能下降明显

⚠️ 数据来源:MyScale博客 https://myscale.com/blog/redis-vs-elasticsearch-search-benchmarking-showdown/

** 第三方测试的可靠性**:

  • 测试方法:自定义测试框架的标准化程度
  • 结果可重现性:测试结果是否可以被其他团队验证?
  • 利益相关性:MyScale是否有商业利益影响测试结果?

阿里云技术社区分析

关键洞察

  • 适用场景差异:RedisSearch更适合实时搜索,ElasticSearch更适合复杂分析
  • 成本效益:RedisSearch在资源受限环境下成本效益更高
  • 运维复杂度:RedisSearch部署简单,ElasticSearch需要专业的运维团队

⚠️ 数据来源:阿里云开发者社区 https://developer.aliyun.com/article/1552219

** 云厂商分析的视角**:

  • 技术中立性:云厂商的分析是否客观中立?
  • 产品推广:是否在推广自己的相关产品?
  • 用户群体:分析是否基于特定用户群体的使用场景?

选型决策框架

决策矩阵

考虑因素 RedisSearch权重 ElasticSearch权重 说明
响应速度 9/10 6/10 基于官方基准测试:RedisSearch快2-5倍
功能丰富度 4/10 9/10 基于功能特性对比分析
资源效率 9/10 5/10 基于基准测试:内存占用约为ES的1/3
运维复杂度 8/10 4/10 基于部署和运维要求对比
扩展性 5/10 9/10 基于架构设计对比

⚠️ 权重说明:这些权重基于技术特性和基准测试数据,但具体数值需要根据实际项目需求调整。

** 权重设置的挑战**:

  • 主观性:权重设置是否过于主观?
  • 场景相关性:不同项目场景下权重是否应该不同?
  • 数据支撑:权重是否基于足够的数据支撑?

场景化选型指南

选择 RedisSearch 的场景

  • 实时搜索:需要毫秒级响应的搜索场景
  • 资源受限:内存和CPU资源有限的环境
  • 简单需求:只需要基本的文本搜索功能
  • 快速原型:需要快速验证搜索功能

** 选择RedisSearch的风险**:

  • 功能扩展性:未来需求增长时是否需要重构?
  • 数据一致性:单机部署的数据持久性保证
  • 团队技能:团队是否具备Redis运维经验?

选择 ElasticSearch 的场景

  • 复杂搜索:需要复杂的查询语法和分析功能
  • 大数据量:数据量超过单机Redis处理能力
  • 企业级需求:需要监控、安全、备份等企业特性
  • 分析需求:需要强大的数据聚合和分析能力

** 选择ElasticSearch的风险**:

  • 资源消耗:硬件成本是否超出预算?
  • 运维复杂度:是否有足够的运维资源?
  • 学习成本:团队学习ES的时间成本

参考资料与延伸阅读

官方权威文档

  • Redis官方搜索性能对比 - 官方基准测试数据
  • RedisSearch官方文档 - 技术实现细节
  • ElasticSearch官方文档 - 功能特性说明

第三方技术分析

  • MyScale博客:Redis vs ElasticSearch 性能对比 - 独立性能测试
  • 阿里云开发者社区:搜索性能对比分析 - 技术选型指导

学术研究资料

  • RedisSearch技术论文 - 技术原理深度分析
  • ElasticSearch性能优化研究 - 性能优化方法

⚠️ 资料可靠性评估

  • 官方文档:最高可信度,但可能存在版本差异
  • 第三方分析:中等可信度,需要验证测试方法
  • 学术研究:理论价值高,但可能过时

深度思考与总结

技术选择的哲学思考

RedisSearch和ElasticSearch代表了软件工程中的两种不同哲学:

  1. 极简主义 vs 功能主义:RedisSearch追求"少即是多",ElasticSearch追求"功能完整"
  2. 性能优先 vs 功能优先:RedisSearch牺牲功能换取性能,ElasticSearch牺牲性能换取功能
  3. 专注 vs 全面:RedisSearch专注单一场景,ElasticSearch覆盖多种场景

⚠️ 哲学解读说明:这些哲学分析基于技术特征推断,并非官方明确表述。

** 哲学选择的深层思考**:

  • 技术债务:极简主义是否会导致未来的技术债务?
  • 团队文化:功能主义是否与团队的工程文化匹配?
  • 长期维护:哪种哲学更适合长期的项目维护?

实际应用建议

混合架构策略
在实际项目中,可以考虑两者结合使用:

  • 使用RedisSearch处理实时搜索请求
  • 使用ElasticSearch处理复杂的分析查询
  • 通过数据同步保持两者数据一致性

⚠️ 实施建议:混合架构需要额外的数据同步和查询路由逻辑,增加了系统复杂度。

** 混合架构的挑战**:

  • 数据一致性:两个系统间的数据同步延迟和一致性保证
  • 查询路由:智能路由逻辑的复杂性和维护成本
  • 运维复杂度:两套系统的监控、备份、升级等运维工作

渐进式迁移策略

  1. 初期使用RedisSearch快速上线
  2. 随着需求增长,逐步引入ElasticSearch
  3. 根据查询类型智能路由到合适的搜索引擎

⚠️ 迁移风险:数据一致性、查询结果差异、运维复杂度增加等。

** 迁移策略的考虑**:

  • 业务连续性:迁移过程中如何保证服务不中断?
  • 数据验证:如何验证迁移后数据的一致性?
  • 回滚方案:迁移失败时的回滚策略

未来发展趋势

  • RedisSearch:可能在功能丰富度上有所提升,但仍保持轻量级特性
  • ElasticSearch:可能在性能优化上有所突破,减少资源消耗
  • 融合趋势:可能出现结合两者优势的混合解决方案

⚠️ 趋势预测说明:这些预测基于技术发展的一般规律,具体实现需要关注官方发布计划。

** 趋势预测的局限性**:

  • 技术不确定性:技术发展方向存在不确定性
  • 市场因素:商业因素可能影响技术发展路径
  • 生态变化:开源生态的变化可能改变技术格局

重要提醒与免责声明

信息准确性声明

  1. 基准测试数据:本文引用的性能数据来自官方文档和权威第三方测试,但具体数值可能因环境而异
  2. 技术分析:部分技术分析基于合理推断,需要在实际项目中验证
  3. 选型建议:选型决策应结合具体项目需求和约束条件

验证建议

  1. 性能测试:在实际环境中进行性能基准测试
  2. 功能验证:验证所需功能在两个系统中的实现情况
  3. 成本评估:综合考虑硬件成本、运维成本、开发成本
  4. 风险评估:评估技术选型的潜在风险和应对措施

批判性思维要求

  1. 质疑一切结论:不要盲目接受本文的任何结论
  2. 验证关键信息:重要决策前务必验证关键信息
  3. 考虑对立面:每个技术选择都有其对立面和风险
  4. 保持开放心态:技术选型没有绝对的对错,只有适合与否

魔鬼代言人模式:为什么这个分析可能是错的?

1. 基准测试的局限性

  • 测试环境可能与生产环境差异巨大
  • 测试数据集可能不具有代表性
  • 测试工具可能存在偏差

2. 技术分析的简化性

  • 复杂的分布式系统被过度简化
  • 忽略了实际部署中的各种边界情况
  • 技术选型的影响因素被过度简化

3. 哲学解读的主观性

  • 设计哲学的解读可能过于主观
  • 技术特征与哲学思想的关联可能牵强
  • 忽略了技术发展的历史偶然性

4. 选型建议的通用性

  • 建议可能过于通用,缺乏针对性
  • 没有充分考虑具体项目的特殊需求
  • 忽略了团队能力和组织文化的影响

通过深入理解两种技术的设计哲学和技术实现,我们能够做出更明智的技术选型决策,而不是简单地基于表面性能数据做选择。但请记住:任何技术决策都需要在实际环境中验证,本文仅供参考,不构成技术选型的最终建议。

** 最终提醒**:本文试图避免AI的"附和"行为,提供批判性分析而非简单认同。但请始终保持批判性思维,质疑一切结论,验证关键信息。技术选型是一个复杂的过程,没有放之四海而皆准的答案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis部署策略

Redis部署策略Posted on 2025-10-07 05:00 吾以观复 阅读(0) 评论(0) 收藏 举报关联知识库:Redis部署策略Redis 部署策略

AI骚扰电话:技术发展的双刃剑效应

AI骚扰电话:技术发展的双刃剑效应Posted on 2025-10-07 05:00 吾以观复 阅读(0) 评论(0) 收藏 举报关联知识库:AI骚扰电话:技术发展的双刃剑效应AI骚扰电话:技术发展的双刃剑效应来源: 金错刀 - 霸榜315的「最…

早期白板编程案例

早期白板编程案例Posted on 2025-10-07 05:00 吾以观复 阅读(0) 评论(0) 收藏 举报关联知识库:早期白板编程案例早期白板编程案例:Max Howell 的 Google 面试争议 背景介绍 Max Howell 是 macOS 上著名的包管理…

【Claude 3.5 Sonnet 生成】AI时代软件行业发展趋势与开发者成长路径分析报告

【Claude 3.5 Sonnet 生成】AI时代软件行业发展趋势与开发者成长路径分析报告Posted on 2025-10-07 05:00 吾以观复 阅读(0) 评论(0) 收藏 举报关联知识库:【Claude 3.5 Sonnet 生成】AI时代软件行业发展趋势与开…

免费推广自己的网站网站建设技术手段

数据示例 前台单值参数实现in查询 主要函数FIND_IN_SET 该函数的作用是查询字段(strlist) 中是否包含(str)的结果&#xff0c;返回结果为 null或记录 select id,recommend_position_id from t_stk_task where FIND_IN_SET(359919,recommend_position_id)查询效果 前台集…

电商网站有哪些功能模块wordpress中文版书籍

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;JAVASE进阶&#xff1a;源码精读——HashMap源码详细解析 &#x1f4da;订阅专栏&#xff1a;JAVASE进阶 希望文章对你们有所帮助…

珠海建设集团网站首页商城网站支付系统怎么做

MySQL 是个服务&#xff0c;所以我们可以借用 Google 四个黄金指标的思路来解决问题。 1、延迟 应用程序会向 MySQL 发起 SELECT、UPDATE 等操作&#xff0c;处理这些请求花费了多久&#xff0c;是非常关键的&#xff0c;甚至我们还想知道具体是哪个 SQL 最慢&#xff0c;这样…

怎么让百度收录网站所有网页网站开发net教程

本文介绍基于VBA语言&#xff0c;对大量含有图片、文本框与表格的Word文档加以批量自动合并&#xff0c;并在每一次合并时添加分页符的方法。 在我们之前的文章基于Python中docx与docxcompose批量合并多个Word文档文件并逐一添加分页符&#xff08;https://blog.csdn.net/zhebu…

原创文章网站百度蜘蛛对视频网站的抓取

Java/Python/Go不同开发语言基础数据结构和相关操作总结 1. Java1.1 静态数组Object[]1.1.1 数据结构和定义方式1.1.2 增加1.1.3 修改1.1.4 查询1.1.5 删除1.1.6 获取元素的位置1.1.7 获取总长度1.1.8 正向排序1.1.9 逆向排序 1.2 动态列表List\<Object>1.2.1 数据结构和…

网站颜色背景代码做网站首页图的规格

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验 擅长主流数据Oracle、MySQL、PG、openGauss运维 备份恢复&#xff0c;安装迁移&#xff0c;性能优化、故障应急处理等可提供技术业务&#xff1a; 1.DB故障处理/疑难杂症远程支援 2.Mysql/PG/Oracl…

寮步网站制作模型下载网站开发流程图

本篇文章主要给大家介绍mysql数据库怎么创建外键。关于mysql数据库外键的基础介绍&#xff0c;我们在这篇文章【Mysql外键是什么&#xff1f;有哪些用处&#xff1f;】中&#xff0c;已经给大家介绍过了&#xff0c;需要的朋友可以选择参考。了解了外键的基础定义&#xff0c;那…

wordpress网站mip改造网站开发建站

php课程 8-28 php如何绘制生成显示图片 一、总结 一句话总结&#xff1a;gd库轻松解决 1、php图片操作生成的图的两种去向是什么&#xff1f; 一种在页面直接输出&#xff0c;一种存进本地磁盘 2、php操作图片的库有哪些&#xff1f; PHP: Image Processing and Generation - M…

如何用万网建设网站广告投放运营

目录 一、Cookie是什么&#xff1f; 二、Session是什么? 三、Cookie的工作流程 四、Session的工作流程 五、Session和Cookie的区别和联系 一、Cookie是什么&#xff1f; Cookie是一种在网站和用户之间交换信息的机制。它是由Web服务器发送给用户浏览器的小型文本文件&#xff…

seo综合查询爱站怎么拥有个人网站

文章目录 引言基于Netty实现TCP客户端Netty发送GBK编码指令Netty接收GBK编码基于Channel发送指令基于ChannelHandlerContext发送指令:建立连接时发送登陆指令开启日志,查看报文信息基于ChannelInboundHandlerAdapter进行业务逻辑处理原生API实现TCP客户端基于DataOutputStrea…

桥头网站建设做外汇都要看什么网站

题目&#xff1a; 本题要求编写一个解密藏尾诗的程序。 注&#xff1a;在 2023 年 1 月 17 日 15 点 14 分以后&#xff0c;该题数据修改为 UTF-8 编码。 输入格式&#xff1a; 输入为一首中文藏尾诗&#xff0c;一共四句。每句一行&#xff0c;但句子不一定是等长的&#…

设计公司品牌网站想接做网站的单子

原标题&#xff1a;微信转发这种视频会感染病毒泄露隐私&#xff1f;网警的查证结果来了最近网上流传一条“紧急通知”&#xff0c;称微信上流传着一些必须转发后才能继续观看的视频&#xff0c;这些视频其实被内植病毒&#xff0c;一旦转发&#xff0c;机主隐私立马被泄露。真…

黄页88网站推广效果校园二手网站开发与设计任务书

序言 在深度学习的蓬勃发展中&#xff0c;模型的性能与泛化能力成为了研究者们关注的焦点。然而&#xff0c;实际应用中的数据往往伴随着各种噪声&#xff0c;这些噪声不仅来源于数据采集过程中的硬件限制&#xff0c;还可能由环境干扰、传输错误等因素引入。噪声的存在严重影…

中国建设银行网站的社保板块在哪wordpress 百度网盘插件

文章目录 导读概念符号表IOB标记概率无向图模型MRF的因子分解团与最大团有向图模型 条件随机场线性链条件随机场 特征函数对数线性模型参数化形式简化形式矩阵形式 概率计算 导读 条件随机场是给定一组输入随机变量的条件下另一组输出随机变量的条件概率分布模型&#xff0c;其…

广州建网站公司排名舟山网站网站建设

用户界面套包DevExpress v18.1日前终于正式发布&#xff0c;本站将以连载的形式为大家介绍各版本新增内容。本文将介绍了DevExpress WPF v18.1 的新功能&#xff0c;快来下载试用新版本&#xff01;点击下载>> Spreadsheet Control Spreadsheet Shapes 从简单的线条、矩形…

网站开发的硬件环境和软件怎么写域名网站如何做市场推广

在目标检测任务中&#xff0c;数据标注是模型训练的关键环节。常用的标注工具有Labelimg和 Labelme&#xff0c;它们均能够以直观的方式对图像中的目标进行标注&#xff0c;并生成包含标注信息的TXT文件或者 JSON 文件。然而&#xff0c;YOLO模型使用的是特定格式的 .txt 文件作…