APIJSON 4.6.0 发布 腾讯项目百万数据 6s 响应(2.3KW 大表)
在 2.3KW 记录大表中查询 LIMIT 1000000(100W) ---------- | ---------- | ---------- | ---------- | ------------- Total | Received | Time Total | Time Spent | Current Speed 72.5M | 72.5M | 0:00:05 | 0:00:05 | 20.0M /get >> http请求结束:5624 APIJSON 4.6.0 更新内容 解决 bug 解决 "toId%": "0,10" 等连续范围报错 value 类型不合法; 解决 "id{}@": "[]/Moment/praiseUserIdList" 等引用赋值的值有时类型为 List 时报错; 解决 "key<>": "a" 这种包含字符串的格式报错,从原来要用 "" 包装简化成直接写即可; 增强安全 对 MySQL 的 DELETE 和 PUT 强制加 LIMIT,限制一次操作记录的数量; 提升性能 通过缓存及复用数组主表 ObjectParser 来大幅提升大量数据的数组内主表的查询性能; 通过减少不必要的 newSQLConfig 及 getSQL 等步骤来大幅提升大量数据的数组内主表的查询性能; 对比 4.5.2 在 Log.DEBUG = true(开启日志)的情况下 TestRecord[] 耗时降低至原来 24%,性能提升 300% 至原来 4 倍; Moment[] 耗时降低至原来 33%,性能提升 200% 至原来 3 倍; 朋友圈列表耗时降低至原来 77%,性能提升 23% 至原来 1.2 倍。 其中每个数组都按 100 条来测试,如果每页数量更大或每项数据量更大,则提升会更加明显。 腾讯 CSIG 某项目线上生产环境实测 Log.DEBUG = false 时2.3KW 大表查询 LIMIT 100 相比原来从 2s 降到 164ms 提升 11 倍; LIMIT 1000 相比原来从 30s 降到 197ms 提升 151 倍; LIMIT 10000(一次 /get 1W 条记录) 整个网络请求耗时仅 633ms; LIMIT 1000000(一次 /get 100W 条记录共 72.5M 数据) 整个网络请求耗时仅 5.624s。 具体见Release 发布版本。 APIJSON 简介 APIJSON 是一种专为 API 而生的 JSON 网络传输协议 以及 基于这套协议实现的 ORM 库。 为 简单的增删改查、复杂的查询、简单的事务操作 提供了完全自动化的万能 API。 能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。 适合中小型前后端分离的项目,尤其是 BaaS、Serverless、互联网创业项目和企业自用项目。 为什么选择 APIJSON? 解决十大痛点(APIJSON 大幅提振开发效率、强力杜绝联调扯皮、巧妙规避文档缺陷、非常节省流量带宽 等) 开发提速巨大(CRUD 零代码热更新自动化,APIJSONBoot 对比 SSM、SSH 等保守估计可提速 20 倍以上) 腾讯官方开源(使用 GitHub、Gitee、工蜂 等平台的官方账号开源,微信公众号、腾讯云+社区 等官方公告) 社区影响力大(GitHub 9.9K Star 在 350WJava 项目中排名前 150,远超 FLAG, BAT 等国内外绝大部分开源项目) 各项荣誉成就(腾讯开源五个第一、腾讯首个 GVP 获奖项目、腾讯后端项目 Star 第一、GitHub Java 周榜第一 等) 多样用户案例(腾讯内部用户包含 互娱、音乐、云与智慧,外部用户包含 500 强上市公司、数千亿资本国企 等) 适用场景广泛(社交聊天、阅读资讯、影音视频、办公学习 等各种 App、网站、公众号、小程序 等非金融类项目) 周边生态丰富(Android, iOS, Web 等各种 Demo、继承 JSON 的海量生态、零代码 接口测试 和 单元测试 工具等) 文档视频齐全(项目介绍、快速上手、安装部署 等后端、前端、客户端的 图文解说、视频教程、代码注释 等) 功能丰富强大(增删改查、分页排序、分组聚合、各种 JOIN、各种子查询、跨库跨表、性能分析等零代码实现) 使用安全简单(自动增删改查、自动生成文档、自动管理版本、自动控制权限、自动校验参数、自动防SQL注入等) 灵活定制业务(在后端编写 远程函数,可以拿到 session、version、当前 JSON 对象 等,然后自定义处理) 高质可靠代码(代码严谨规范,商业分析软件源伞 Pinpoint 代码扫描报告平均每行代码 Bug 率低至 0.15%) 兼容各种项目(对各类 Web 框架集成友好且提供 SpringBoot, JFinal 的 Demo,协议不限 HTTP,与其它库无冲突) 工程轻量小巧(仅依赖 fastjson,Jar 仅 280KB,Java 文件仅 59 个共 13719 行代码,例如 APIJSONORM 4.3.1) 多年持续迭代(自 2016 年开源至今已连续维护 4 年,累计 2000+ Commits、70+ Releases,不断更新迭代中...) APIJSON 生态项目 APIAuto敏捷开发最强大易用的 HTTP 接口工具,机器学习零代码测试、生成代码与静态检查、生成文档与光标悬浮注释 UnitAuto机器学习单元测试平台,零代码、全方位、自动化 测试 方法/函数 的正确性和可用性 APIJSON.NETC# 版 APIJSON ,支持 MySQL, PostgreSQL, SQL Server, Oracle, SQLite apijson-phpPHP 版 APIJSON,基于 ThinkPHP,支持 MySQL, PostgreSQL, SQL Server, Oracle 等 apijson-nodeNode.ts 版 APIJSON,提供 nestjs 和 typeorm 的 Demo,支持 MySQL, PostgreSQL, SQL Server, Oracle uliweb-apijsonPython 版 APIJSON,支持 MySQL, PostgreSQL, SQL Server, Oracle, SQLite 等 APIJSONParser第三方 APIJSON 解析器,将 JSON 动态解析成 SQL ApiJsonByJFinal整合 APIJSON 和 JFinal 的 Demo SpringServer1.2-APIJSON智慧党建服务器端,提供 上传 和 下载 文件的接口 apijson-builder一个方便为 APIJSON 构建 RESTful 请求的 JavaScript 库 感谢热心的作者们的贡献,点 ⭐Star 鼓励他们继续完善吧^_^ 腾讯 APIJSON - 零代码接口与文档 ORM 库 https://gitee.com/Tencent/APIJSON