Skip to main content

高性能读接口

引言

关于数据量

接口默认获取根据创建时间正序排列的前20条(page=1&size=20&order=_ctime&desc=asc)数据,如有拉取全量数据的需求,在请求中添加size=total即可。参阅更多查询参数

关于鉴权

高性能接口是完全公开对外的读接口,可以通过appkey完成简单鉴权,appkey的机密性较低,可以从项目列表中获取。推荐使用 schemakey 做鉴权,粒度更小,可以从表的数据接出面板中获取,详情见☞接口鉴权秘钥

关于缓存

接口的服务端缓存,默认有12小时强缓存,10秒读触发更新间隔。私有部署时,可以通过服务配置定制。

在表配置中勾选不允许外网访问时,无法通过公开接口获取数据

⚠️ 注意: 如果通过CDN接口访问,请不要添加随机参数,会影响缓存命中率。

快捷获取请求URL功能入口

enter image description here#300px

调用接口

URL格式

http://{HOST}/{API}?appid={APP_ID}&schemaid={SCHEMA_ID}&schemakey={SCHEMA_KEY}

CURL请求示例

curl -X GET "http://1.2.3.4/api/public/object?appid=app123&schemaid=schema123&schemakey=xxxx"
-H "Host: 1.2.3.4"
注意

curl 后带的 url 参数,记得用引号括起来,&符号会截断参数

查询列表

拉取列表数据,支持查询接口参数

+ GET /api/public/object

响应 :

{ data: { _id: 'xxx', ... } }

查询单条

拉取单条数据,支持查询接口参数

+ GET /api/public/object/:objectId

响应 :

{ data: { _id: 'xxx', ... } }

接口服务缓存配置

读接口的性能建立在缓存策略上,平台默认提供了读更新的缓存策略,使用读接口提供对外服务时,需要在server配置对应的缓存信息:

{
cache: {
namespace: "test",
server: {
read: 'your-redis-read-server-host',
write: 'your-redis-write-server-host'
},
expire: 300, // 秒
refresh: 100 // 秒
}
}