APIJSON 5.1.5 更新
新增支持跨层级 APP JOIN,感谢@github291406933的贡献#413;
新增对 LocalDateTime 类型支持,感谢@MentosL的贡献#394;
修复多字段参与 JOIN 时,没有命中缓存而出现的 1+N 查询性能问题,感谢@github291406933的贡献#403;
解决@combine:"(a | b) & (c | d)" 这种任意条件组合情况下有时预编译值错位导致 SQL 报错;
相关推荐新增腾讯业务百万数据 6s 响应,APIJSON 性能优化背后的故事;
数量级 | 4.7.0(5次取平均值) | 4.8.0(5次取平均值) | 是否正常回包 | where条件 | 性能提升 |
---|---|---|---|---|---|
10W | 1.739s | 1.159s | 是 | 无 | 50%。即((1/1.159-1/1.739)/(1/1.739))*100% |
20W | 3.518s | 2.676s | 是 | 无 | 31.5% |
50W | 9.257s | 6.952s | 是 | 无 | 33.2% |
80W | 16.236s | 10.697s | -Xmx=3192M时无法正常回包,OOM错误,调大-Xmx参数后ok。 | 无 | 51.8% |
100W | 19.748s | 14.466s | -Xmx=3192M时无法正常回包,OOM错误,调大-Xmx参数后ok | 无 | 36.5% |
10W | 1.928s | 1.392s | 是 | "x_xid{}":[xxxx36,xxxx38],覆盖数据超过100W数据。 | 38.5% |
20W | 4.149s | 2.852s | 是 | "x_xid{}":[xxxx36,xxxx38] | 45.5% |
50W | 10.652s | 7.231s | 是 | "x_xid{}":[xxxx36,xxxx38] | 47.3% |
80W | 16.975s | 12.465s | 调整了-Xmx后正常回包 | "x_xid{}":[xxxx36,xxxx38] | 36.2% |
100W | 20.632s | 16.481s | 调整了-Xmx后正常回包 | "x_xid{}":[xxxx36,xxxx38] | 25.2% |
完整更新日志具体见 Release 发布版本。
APIJSON 简介
腾讯 APIJSON 是一种专为 API 而生的 JSON 网络传输协议 以及 基于这套协议实现的 ORM 库。
为各种增删改查提供了完全自动化的万能 API,零代码实时满足千变万化的各种新增和变更需求。
能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。
适合中小型前后端分离的项目,尤其是 初创项目、内部项目、低代码/零代码、小程序、BaaS、Serverless 等。
通过万能的 API,前端可以定制任何数据、任何结构。
大部分 HTTP 请求后端再也不用写接口了,更不用写文档了。
前端再也不用和后端沟通接口或文档问题了。再也不会被文档各种错误坑了。
后端再也不用为了兼容旧接口写新版接口和文档了。再也不会被前端随时随地没完没了地烦了。
为什么选择 APIJSON?
- 解决十大痛点(APIJSON 可大幅提振开发效率、强力杜绝联调扯皮、巧妙规避文档缺陷、非常节省流量带宽等)
- 开发提速很大(CRUD 零代码热更新全自动,APIJSONBoot 对比 SSM、SSH 等保守估计可提速 20 倍以上)
- 腾讯官方开源 (使用 GitHub、Gitee、工蜂 等平台的官方账号开源,微信公众号、腾讯云+社区 等官方公告)
- 社区影响力大 (GitHub 1W+ Star 在 400W+ Java 项目中排名前 110,远超 FLAG, BAT 等国内外绝大部分开源项目)
- 各项荣誉成就 (腾讯内外 5 个奖项、腾讯开源前十、腾讯后端项目 Star 第一、GitHub Java 日周月榜大满贯 等)
- 多样用户案例(腾讯内有互娱、音乐、微信、云与智慧等,外部包含华为、华能、百度、中兴、圆通、传音、万科采筑等)
- 适用场景广泛 (社交聊天、阅读资讯、影音视频、办公学习 等各种 App、网站、公众号、小程序 等非金融类项目)
- 周边生态丰富(Android, iOS, Web 等各种 Demo、继承 JSON 的海量生态、零代码 接口测试 和 单元测试 工具等)
- 文档视频齐全 (项目介绍、快速上手、安装部署 等后端、前端、客户端的 图文解说、视频教程、代码注释 等)
- 功能丰富强大 (增删改查、分页排序、分组聚合、各种条件、各种 JOIN、各种子查询、跨库连表 等零代码实现)
- 使用安全简单(自动增删改查、自动生成文档、自动管理版本、自动控制权限、自动校验参数、自动防SQL注入等)
- 灵活定制业务 (在后端编写 远程函数,可以拿到 session、version、当前 JSON 对象 等,然后自定义处理)
- 高质可靠代码(代码严谨规范,商业分析软件源伞 Pinpoint 代码扫描报告平均每行代码 Bug 率低至 0.15%)
- 兼容各种项目(协议不限 HTTP,与其它库无冲突,对各类 Web 框架集成友好且提供 SpringBoot, JFinal 的 Demo)
- 工程轻量小巧(仅依赖 fastjson,Jar 仅 280KB,Java 文件仅 59 个共 13719 行代码,例如 APIJSONORM 4.3.1)
- 多年持续迭代(2016 年至今连续维护近 6 年,累计 2700+ 次提交、88 次发版、45 个贡献者,不断更新迭代中...)
APIJSON 生态项目
apijson-router 【新】APIJSON 的路由插件,可控地对公网暴露类 RESTful 简单接口,内部转成 APIJSON 格式请求来执行。
apijson-column APIJSON 的字段插件,支持 字段名映射 和 !key 反选字段
hyperf-APIJSON 【新】PHP 版 APIJSON,基于 Hyperf(PHP Swoole),支持 APIJSON 多种关联和多个功能符
APIJSON.NET C# 版 APIJSON,支持大部分 APIJSON 功能,支持 MySQL, PostgreSQL, SQL Server, Oracle, SQLite
apijson-go 【新】Go 版 APIJSON,支持 单表查询、列表筛选、关联查询、多个功能符等
apijson-node 字节跳动工程师开发的 Node.ts 版 APIJSON,提供 nestjs 和 typeorm 的 Demo
uliweb-apijson Python 版 APIJSON,支持大部分 APIJSON 功能,支持 MySQL, PostgreSQL, SQL Server, Oracle 等
APIJSONBoot_Hive 【新】APIJSON + SpringBoot 连接 Hive, Hadoop 使用的 Demo
apijson-practice【新】BAT 技术专家开源的 APIJSON 参数校验注解 Library 及相关 Demo
APIJSONDemo【新】APIJSON 接入 ClickHouse 使用 Demo
APIJSONDemo_ClickHouse 【新】APIJSON + SpringBoot 连接 ClickHouse 使用的 Demo
apijson-db2 APIJSON 接入 IBM 数据库 DB2 的 Demo
light4j 整合 APIJSON 和微服务框架 light-4j 的 Demo,同时接入了 Redis
apijson-examples 关于 APIJSON 包含 admin, upms, web 的多端 Demo
感谢热心的作者们的贡献,点 ⭐Star 鼓励他们继续完善吧^_^
腾讯 APIJSON - 零代码、全功能、强安全 ORM 库
后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构!
https://gitee.com/Tencent/APIJSON
创作不易、坚持更难,右上角点 ⭐Star 支持下吧 ^_^