Memcached-连接器-通用模板

第三方服务商
价格:免费使用  
服务商: 万维易源
  • 产品介绍
  • 接口文档
  • 服务商
  • 官方客服

1. Memcached是什么

Memcached是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用。这是一套开放源代码软件,以BSD license授权发布。
memcached的API使用三十二比特的循环冗余校验(CRC-32)计算键值后,将数据分散在不同的机器上。当表格满了以后,接下来新增的数据会以LRU机制替换掉。由于memcached通常只是当作缓存系统使用,所以使用memcached的应用程序在写回较慢的系统时(像是后端的数据库)需要额外的代码更新memcached内的数据。
Memcached作为高速运行的分布式缓存服务器,具有以下的特点。
· 协议简单
· 基于libevent的事件处理
· 内置内存存储方式
· memcached不互相通信的分布式

 

2. 常规使用流程

    我们在使用各种语言的驱动连接Memcached时,常规流程如下图所示:

 

虽然最终数据库是同一个,但每种语言都有对应的驱动程序,操作方式不尽相同。

3. 面临的问题

3.1 多项目、多语言环境下交互复杂,代码重复率高,维护困难

假如在体系中存在三个子系统,它们都需要调用getUserById方法,很可能是下图所示的结构:

 

图中的【1.直连】表示B系统用php实现getUserById方法,使用php驱动直接操作Memcached库。

图中的【2.直连】表示A系统用java实现getUserById方法,使用java驱动直接操作Memcached库。

图中的【3.API调用】表示C系统调用A系统的API。

 

这样的结构有一些问题:如果业务调整,getUserById的实现需要改变,比如不再返回注销的用户,那AB系统的代码都要调整。用以下的结构可以轻松搞定。

 

 

3.2 驱动的版本管理

当项目需要连接多个版本的Memcached时(比如老系统改造,系统二次开发),此问题尤为严重,驱动包的冲突会导致开发管理成本上升。

3.3 非主力系统使用Memcached比较麻烦

出于并发性的考虑,使用socket长连接操作Memcached是最为高效的方法(比如秒级并发>10000次的场景),这也是主力军系统通常的做法。但是在很多辅助系统的业务场景下,对Memcached的使用频次很低,比如后台监控、运维手动操作:

  • 查询key列表;

     
  • 查询key对应的value;

     
  • 对某个key对应的value修改、删除;

     
  • 刷新某个key(用途广泛,比如修改了一个菜单,需要刷新一下菜单列表缓存); 

对于低频次场景(秒并发<10000次),使用Memcached官方驱动会增加一些开发成本。如果使用HTTP访问Memcached,这个成本几乎为0。

使用Memcached时,下读取频率远超写频率。在实际应用中,通常是部份系统负责读取,部份系统负责写。在低频读写的系统中,使用HTTP访问Memcached是非常方便、高效的事情。

4.解决方案

  • 通过易源Memcached连接器,您可以用HTTP接口操作您自己的Memcached数据库,比如get、set、incr等全指令操作,也可以说您的Memcached数据库被“HTTP”化了。

     
  • 易源已经将一些常见Memcached操作封装成API接入点,通过几步简单的配置操作,就可以在代码中通过HTTP请求使用Memcached数据库。

     
  • 您可以轻松摆脱语言、驱动、框架的约束,只用简单的写几句代码就可以实现对Memcached的操作。

     
  • 在实际使用时,调用者只需要关心调用地址、输入参数、输出参数 三个元素,具体实现细节不需要关注。这样的特性非常适合于前后端分离开发。

使用易源平台操作Memcached,其流程如下图所示:
 


易源的Memcached连接器将Memcached数据库转化为通用数据源,并可以使用http接口进行全部数据库操作,包括但不限于增、删、查、改方法。

4.1 创建数据源

 

之后进入以下表单:

 

 

4.2 创建接入点时选择Memcached连接器

 

4.3 在接入点中选择Memcached数据源

 

4.4 支持的操作列表

通过HTTP接口访问Memcached,详情操作请点此查看 。

 

5. 性能问题

如果在同一个局域网下进行压力测试,直连时程序做充分优化,易源中转比直连方式的多消耗时间<1ms。网站或APP的响应时间在100ms-1000ms之间是可以接受的,也就是易源增加的时间是整体流程的0.01至0.001的比率,几乎可以忽略不计。这点开销,就像开车从北京到西安有1000公里,中间因为修路多走了1公里,总共由1000到1001公里,多走这1公里对全局可以忽略不计。

 

6. 安全问题

  • 易源平台和您签定合作协议,易源保证关键信息加密存储,保证数据安全不泄露,保证无用户授权绝对不连接数据源。
  • 易源公布对外IP,您可以设置IP白名单。

 

对于Memcached连接器,易源的IP是:

  • 121.41.60.109
  • 120.26.59.160
  • 120.26.61.225
  • 49.4.23.20
  • 129.211.129.137

 

 

 

 

get


接口地址:http://route.showapi.com/2125-1 (注意:接口支持https,更安全,但稍慢一些,你懂的。请根据自己的情况进行选择。)
支持格式:json
请求方法:HTTP协议,支持GET/POST方法。

二、请求参数/ Request parameter

非文件上传的POST时,enctype=application/x-www-form-urlencoded。 
文件上传的POST时,enctype=multipart/form-data。 

1、系统级参数(所有接入点都需要的参数): 

参数名称类型示例值必须描述
showapi_appidString100易源应用id
showapi_signString698d51a19d8a121ce581499d7b701668为了验证用户身份,以及确保参数不被中间人篡改,需要传递调用者的数字签名。 可选,在url后带上appid和secret即可 
showapi_timestampString20141114142239客户端时间。 
格式yyyyMMddHHmmss,如20141114142239 
为了在一定程度上防止“重放攻击”,平台只接受在10分钟之内的请求。如果不传或传空串,则系统不再做此字段的检测。 
showapi_res_gzipString1或0返回值是否用gzip方式压缩。此值为1时将压缩,其他值不压缩。
...

2、应用级参数(每个接入点有自己的参数,当前接入点的参数见下表): 

参数名称类型默认值示例值必须描述
keyString keyname键值 key-value 结构中的 key,用于查找缓存值。
请求示例:String res=new ShowApiRequest("http://route.showapi.com/2125-1","my_appId","my_appSecret") .addTextPara("key","keyname") .post(); System.out.println(res);

三、返回参数/ Return parameter

以JSON格式返回结果。

1、系统级参数(所有接入点都会返回的参数): 展开收起 

名称类型示例值描述
showapi_res_bodyString{"city":"昆明","prov":"云南"}消息体的JSON封装,所有应用级的返回参数将嵌入此对象 。
showapi_res_codeint0易源返回标志,0为成功,其他为失败。
0成功
-1,系统调用错误
-2,可调用次数或金额为0
-3,读取超时
-4,服务端返回数据解析错误
-5,后端服务器DNS解析错误
-6,服务不存在或未上线
-7, API创建者的网关资源不足
-1000,系统维护
-1002,showapi_appid字段必传
-1003,showapi_sign字段必传
-1004,签名sign验证有误
-1005,showapi_timestamp无效
-1006,app无权限调用接口 
-1007,没有订购套餐
-1008,服务商关闭对您的调用权限
-1009,调用频率受限
-1010,找不到您的应用
-1011,子授权app_child_id无效
-1012,子授权已过期或失效
-1013,子授权ip受限
-1014,token权限无效
 
showapi_res_errorString用户输入有误!错误信息的展示
showapi_res_idStringce135f6739294c63be0c021b76b6fbff本次请求id
...

2、应用级参数(系统级输出参数showapi_res_body字段中的json数据结构): 展开收起 

名称类型示例值描述
ret String158获取到的value
remark String  
ret_code Number0 
...
返回示例:{ "showapi_res_error": "", "showapi_res_id": "3a845c99a2be45468d3910f7736adad4", "showapi_res_code": 0, "showapi_res_body": { "ret": "158", "remark": "", "ret_code": 0 } }

set


接口地址:http://route.showapi.com/2125-2 (注意:接口支持https,更安全,但稍慢一些,你懂的。请根据自己的情况进行选择。)
支持格式:json
请求方法:HTTP协议,支持GET/POST方法。

二、请求参数/ Request parameter

非文件上传的POST时,enctype=application/x-www-form-urlencoded。
文件上传的POST时,enctype=multipart/form-data。

1、系统级参数(所有接入点都需要的参数):
参数名称 类型 示例值 必须 描述
showapi_appid String 100 易源应用id
showapi_sign String 698d51a19d8a121ce581499d7b701668 为了验证用户身份,以及确保参数不被中间人篡改,需要传递调用者的数字签名。 可选,在url后带上appid和secret即可
showapi_timestamp String 20141114142239 客户端时间。
格式yyyyMMddHHmmss,如20141114142239
为了在一定程度上防止“重放攻击”,平台只接受在10分钟之内的请求。如果不传或传空串,则系统不再做此字段的检测。
showapi_res_gzip String 1或0 返回值是否用gzip方式压缩。此值为1时将压缩,其他值不压缩。
...
2、应用级参数(每个接入点有自己的参数,当前接入点的参数见下表): 展开收起
参数名称 类型 默认值 示例值 必须 描述
key String
keyname
键值 key-value 结构中的 key,用于查找缓存值。
value String
testvalue
存储的值,可理解为key-value结构中的value。
exptime String
在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
...
请求示例:String res=new ShowApiRequest("http://route.showapi.com/2125-2","my_appId","my_appSecret") .addTextPara("key","keyname") .addTextPara("value","testvalue") .addTextPara("exptime","") .post(); System.out.println(res);

三、返回参数/ Return parameter

以JSON格式返回结果。

1、系统级参数(所有接入点都会返回的参数): 展开收起
名称 类型 示例值 描述
showapi_res_body String {"city":"昆明","prov":"云南"} 消息体的JSON封装,所有应用级的返回参数将嵌入此对象 。
showapi_res_code int 0
易源返回标志,0为成功,其他为失败。
0成功
-1,系统调用错误
-2,可调用次数或金额为0
-3,读取超时
-4,服务端返回数据解析错误
-5,后端服务器DNS解析错误
-6,服务不存在或未上线
-7, API创建者的网关资源不足
-1000,系统维护
-1002,showapi_appid字段必传
-1003,showapi_sign字段必传
-1004,签名sign验证有误
-1005,showapi_timestamp无效
-1006,app无权限调用接口
-1007,没有订购套餐
-1008,服务商关闭对您的调用权限
-1009,调用频率受限
-1010,找不到您的应用
-1011,子授权app_child_id无效
-1012,子授权已过期或失效
-1013,子授权ip受限
-1014,token权限无效
showapi_res_error String 用户输入有误! 错误信息的展示
showapi_res_id String ce135f6739294c63be0c021b76b6fbff 本次请求id
...
2、应用级参数(系统级输出参数showapi_res_body字段中的json数据结构): 展开收起
名称 类型 示例值 描述
ret Number
1
remark String
ret_code Number
0
...
返回示例:{ "showapi_res_error": "", "showapi_res_id": "0229122cfb1d4707bf23b00ee0086310", "showapi_res_code": 0, "showapi_res_body": { "ret": 1, "remark": "", "ret_code": 0 } }

add


接口地址:http://route.showapi.com/2125-3 (注意:接口支持https,更安全,但稍慢一些,你懂的。请根据自己的情况进行选择。)
支持格式:json
请求方法:HTTP协议,支持GET/POST方法。

二、请求参数/ Request parameter

非文件上传的POST时,enctype=application/x-www-form-urlencoded。
文件上传的POST时,enctype=multipart/form-data。

1、系统级参数(所有接入点都需要的参数):
参数名称 类型 示例值 必须 描述
showapi_appid String 100 易源应用id
showapi_sign String 698d51a19d8a121ce581499d7b701668 为了验证用户身份,以及确保参数不被中间人篡改,需要传递调用者的数字签名。 可选,在url后带上appid和secret即可
showapi_timestamp String 20141114142239 客户端时间。
格式yyyyMMddHHmmss,如20141114142239
为了在一定程度上防止“重放攻击”,平台只接受在10分钟之内的请求。如果不传或传空串,则系统不再做此字段的检测。
showapi_res_gzip String 1或0 返回值是否用gzip方式压缩。此值为1时将压缩,其他值不压缩。
...
2、应用级参数(每个接入点有自己的参数,当前接入点的参数见下表): 展开收起
参数名称 类型 默认值 示例值 必须 描述
key String
keyname
键值 key-value 结构中的 key,用于查找缓存值。
value String
testvalue
存储的值,可理解为key-value结构中的value。
exptime String
在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
...
请求示例:String res=new ShowApiRequest("http://route.showapi.com/2125-3","my_appId","my_appSecret") .addTextPara("key","keyname") .addTextPara("value","testvalue") .addTextPara("exptime","") .post(); System.out.println(res);

三、返回参数/ Return parameter

以JSON格式返回结果。

1、系统级参数(所有接入点都会返回的参数): 展开收起
名称 类型 示例值 描述
showapi_res_body String {"city":"昆明","prov":"云南"} 消息体的JSON封装,所有应用级的返回参数将嵌入此对象 。
showapi_res_code int 0
易源返回标志,0为成功,其他为失败。
0成功
-1,系统调用错误
-2,可调用次数或金额为0
-3,读取超时
-4,服务端返回数据解析错误
-5,后端服务器DNS解析错误
-6,服务不存在或未上线
-7, API创建者的网关资源不足
-1000,系统维护
-1002,showapi_appid字段必传
-1003,showapi_sign字段必传
-1004,签名sign验证有误
-1005,showapi_timestamp无效
-1006,app无权限调用接口
-1007,没有订购套餐
-1008,服务商关闭对您的调用权限
-1009,调用频率受限
-1010,找不到您的应用
-1011,子授权app_child_id无效
-1012,子授权已过期或失效
-1013,子授权ip受限
-1014,token权限无效
showapi_res_error String 用户输入有误! 错误信息的展示
showapi_res_id String ce135f6739294c63be0c021b76b6fbff 本次请求id
...
2、应用级参数(系统级输出参数showapi_res_body字段中的json数据结构): 展开收起
名称 类型 示例值 描述
ret Number
1
remark String
ret_code Number
0
...
返回示例:{ "showapi_res_error": "", "showapi_res_id": "a13f69d78c184e319c63a949d3b365ab", "showapi_res_code": 0, "showapi_res_body": { "ret": 1, "remark": "", "ret_code": 0 } }

replace


接口地址:http://route.showapi.com/2125-4 (注意:接口支持https,更安全,但稍慢一些,你懂的。请根据自己的情况进行选择。)
支持格式:json
请求方法:HTTP协议,支持GET/POST方法。

二、请求参数/ Request parameter

非文件上传的POST时,enctype=application/x-www-form-urlencoded。
文件上传的POST时,enctype=multipart/form-data。

1、系统级参数(所有接入点都需要的参数):
参数名称 类型 示例值 必须 描述
showapi_appid String 100 易源应用id
showapi_sign String 698d51a19d8a121ce581499d7b701668 为了验证用户身份,以及确保参数不被中间人篡改,需要传递调用者的数字签名。 可选,在url后带上appid和secret即可
showapi_timestamp String 20141114142239 客户端时间。
格式yyyyMMddHHmmss,如20141114142239
为了在一定程度上防止“重放攻击”,平台只接受在10分钟之内的请求。如果不传或传空串,则系统不再做此字段的检测。
showapi_res_gzip String 1或0 返回值是否用gzip方式压缩。此值为1时将压缩,其他值不压缩。
...
2、应用级参数(每个接入点有自己的参数,当前接入点的参数见下表): 展开收起
参数名称 类型 默认值 示例值 必须 描述
key String
keyname
键值 key-value 结构中的 key,用于查找缓存值。
value String
testvalue
存储的值,可理解为key-value结构中的value。
exptime String
在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
...
请求示例:String res=new ShowApiRequest("http://route.showapi.com/2125-4","my_appId","my_appSecret") .addTextPara("key","keyname") .addTextPara("value","testvalue") .addTextPara("exptime","") .post(); System.out.println(res);

三、返回参数/ Return parameter

以JSON格式返回结果。

1、系统级参数(所有接入点都会返回的参数): 展开收起
名称 类型 示例值 描述
showapi_res_body String {"city":"昆明","prov":"云南"} 消息体的JSON封装,所有应用级的返回参数将嵌入此对象 。
showapi_res_code int 0
易源返回标志,0为成功,其他为失败。
0成功
-1,系统调用错误
-2,可调用次数或金额为0
-3,读取超时
-4,服务端返回数据解析错误
-5,后端服务器DNS解析错误
-6,服务不存在或未上线
-7, API创建者的网关资源不足
-1000,系统维护
-1002,showapi_appid字段必传
-1003,showapi_sign字段必传
-1004,签名sign验证有误
-1005,showapi_timestamp无效
-1006,app无权限调用接口
-1007,没有订购套餐
-1008,服务商关闭对您的调用权限
-1009,调用频率受限
-1010,找不到您的应用
-1011,子授权app_child_id无效
-1012,子授权已过期或失效
-1013,子授权ip受限
-1014,token权限无效
showapi_res_error String 用户输入有误! 错误信息的展示
showapi_res_id String ce135f6739294c63be0c021b76b6fbff 本次请求id
...
2、应用级参数(系统级输出参数showapi_res_body字段中的json数据结构): 展开收起
名称 类型 示例值 描述
ret Number
1
remark String
ret_code Number
0
...
返回示例:{ "showapi_res_error": "", "showapi_res_id": "6aaf2dd2e8eb48abb3766cee8fa11498", "showapi_res_code": 0, "showapi_res_body": { "ret": 1, "remark": "", "ret_code": 0 } }

append


接口地址:http://route.showapi.com/2125-5 (注意:接口支持https,更安全,但稍慢一些,你懂的。请根据自己的情况进行选择。)
支持格式:json
请求方法:HTTP协议,支持GET/POST方法。

二、请求参数/ Request parameter

非文件上传的POST时,enctype=application/x-www-form-urlencoded。
文件上传的POST时,enctype=multipart/form-data。

1、系统级参数(所有接入点都需要的参数):
参数名称 类型 示例值 必须 描述
showapi_appid String 100 易源应用id
showapi_sign String 698d51a19d8a121ce581499d7b701668 为了验证用户身份,以及确保参数不被中间人篡改,需要传递调用者的数字签名。 可选,在url后带上appid和secret即可
showapi_timestamp String 20141114142239 客户端时间。
格式yyyyMMddHHmmss,如20141114142239
为了在一定程度上防止“重放攻击”,平台只接受在10分钟之内的请求。如果不传或传空串,则系统不再做此字段的检测。
showapi_res_gzip String 1或0 返回值是否用gzip方式压缩。此值为1时将压缩,其他值不压缩。
...
2、应用级参数(每个接入点有自己的参数,当前接入点的参数见下表): 展开收起
参数名称 类型 默认值 示例值 必须 描述
key String
keyname
键值 key-value 结构中的 key,用于查找缓存值。
value String
testvalue
存储的值,可理解为key-value结构中的value。
exptime String
在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
...
请求示例:String res=new ShowApiRequest("http://route.showapi.com/2125-5","my_appId","my_appSecret") .addTextPara("key","keyname") .addTextPara("value","testvalue") .addTextPara("exptime","") .post(); System.out.println(res);

三、返回参数/ Return parameter

以JSON格式返回结果。

1、系统级参数(所有接入点都会返回的参数): 展开收起
名称 类型 示例值 描述
showapi_res_body String {"city":"昆明","prov":"云南"} 消息体的JSON封装,所有应用级的返回参数将嵌入此对象 。
showapi_res_code int 0
易源返回标志,0为成功,其他为失败。
0成功
-1,系统调用错误
-2,可调用次数或金额为0
-3,读取超时
-4,服务端返回数据解析错误
-5,后端服务器DNS解析错误
-6,服务不存在或未上线
-7, API创建者的网关资源不足
-1000,系统维护
-1002,showapi_appid字段必传
-1003,showapi_sign字段必传
-1004,签名sign验证有误
-1005,showapi_timestamp无效
-1006,app无权限调用接口
-1007,没有订购套餐
-1008,服务商关闭对您的调用权限
-1009,调用频率受限
-1010,找不到您的应用
-1011,子授权app_child_id无效
-1012,子授权已过期或失效
-1013,子授权ip受限
-1014,token权限无效
showapi_res_error String 用户输入有误! 错误信息的展示
showapi_res_id String ce135f6739294c63be0c021b76b6fbff 本次请求id
...
2、应用级参数(系统级输出参数showapi_res_body字段中的json数据结构): 展开收起
名称 类型 示例值 描述
ret Number
1
remark String
ret_code Number
0
...
返回示例:{ "showapi_res_error": "", "showapi_res_id": "44839a589734406eaa5db9b0ccdaa421", "showapi_res_code": 0, "showapi_res_body": { "ret": 1, "remark": "", "ret_code": 0 } }

prepend


接口地址:http://route.showapi.com/2125-6 (注意:接口支持https,更安全,但稍慢一些,你懂的。请根据自己的情况进行选择。)
支持格式:json
请求方法:HTTP协议,支持GET/POST方法。

二、请求参数/ Request parameter

非文件上传的POST时,enctype=application/x-www-form-urlencoded。
文件上传的POST时,enctype=multipart/form-data。

1、系统级参数(所有接入点都需要的参数):
参数名称 类型 示例值 必须 描述
showapi_appid String 100 易源应用id
showapi_sign String 698d51a19d8a121ce581499d7b701668 为了验证用户身份,以及确保参数不被中间人篡改,需要传递调用者的数字签名。 可选,在url后带上appid和secret即可
showapi_timestamp String 20141114142239 客户端时间。
格式yyyyMMddHHmmss,如20141114142239
为了在一定程度上防止“重放攻击”,平台只接受在10分钟之内的请求。如果不传或传空串,则系统不再做此字段的检测。
showapi_res_gzip String 1或0 返回值是否用gzip方式压缩。此值为1时将压缩,其他值不压缩。
...
2、应用级参数(每个接入点有自己的参数,当前接入点的参数见下表): 展开收起
参数名称 类型 默认值 示例值 必须 描述
key String
keyname
键值 key-value 结构中的 key,用于查找缓存值。
value String
testvalue
存储的值,可理解为key-value结构中的value。
exptime String
在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
...
请求示例:String res=new ShowApiRequest("http://route.showapi.com/2125-6","my_appId","my_appSecret") .addTextPara("key","keyname") .addTextPara("value","testvalue") .addTextPara("exptime","") .post(); System.out.println(res);

三、返回参数/ Return parameter

以JSON格式返回结果。

1、系统级参数(所有接入点都会返回的参数): 展开收起
名称 类型 示例值 描述
showapi_res_body String {"city":"昆明","prov":"云南"} 消息体的JSON封装,所有应用级的返回参数将嵌入此对象 。
showapi_res_code int 0
易源返回标志,0为成功,其他为失败。
0成功
-1,系统调用错误
-2,可调用次数或金额为0
-3,读取超时
-4,服务端返回数据解析错误
-5,后端服务器DNS解析错误
-6,服务不存在或未上线
-7, API创建者的网关资源不足
-1000,系统维护
-1002,showapi_appid字段必传
-1003,showapi_sign字段必传
-1004,签名sign验证有误
-1005,showapi_timestamp无效
-1006,app无权限调用接口
-1007,没有订购套餐
-1008,服务商关闭对您的调用权限
-1009,调用频率受限
-1010,找不到您的应用
-1011,子授权app_child_id无效
-1012,子授权已过期或失效
-1013,子授权ip受限
-1014,token权限无效
showapi_res_error String 用户输入有误! 错误信息的展示
showapi_res_id String ce135f6739294c63be0c021b76b6fbff 本次请求id
...
2、应用级参数(系统级输出参数showapi_res_body字段中的json数据结构): 展开收起
名称 类型 示例值 描述
ret Number
1
remark String
ret_code Number
0
...
返回示例:{ "showapi_res_error": "", "showapi_res_id": "abf448373509443e993ca481708cd6c9", "showapi_res_code": 0, "showapi_res_body": { "ret": 1, "remark": "", "ret_code": 0 } }

delete


接口地址:http://route.showapi.com/2125-7 (注意:接口支持https,更安全,但稍慢一些,你懂的。请根据自己的情况进行选择。)
支持格式:json
请求方法:HTTP协议,支持GET/POST方法。

二、请求参数/ Request parameter

非文件上传的POST时,enctype=application/x-www-form-urlencoded。
文件上传的POST时,enctype=multipart/form-data。

1、系统级参数(所有接入点都需要的参数):
参数名称 类型 示例值 必须 描述
showapi_appid String 100 易源应用id
showapi_sign String 698d51a19d8a121ce581499d7b701668 为了验证用户身份,以及确保参数不被中间人篡改,需要传递调用者的数字签名。 可选,在url后带上appid和secret即可
showapi_timestamp String 20141114142239 客户端时间。
格式yyyyMMddHHmmss,如20141114142239
为了在一定程度上防止“重放攻击”,平台只接受在10分钟之内的请求。如果不传或传空串,则系统不再做此字段的检测。
showapi_res_gzip String 1或0 返回值是否用gzip方式压缩。此值为1时将压缩,其他值不压缩。
...
2、应用级参数(每个接入点有自己的参数,当前接入点的参数见下表):
参数名称 类型 默认值 示例值 必须 描述
key String
keyname
键值 key-value 结构中的 key,用于查找缓存值。
请求示例:String res=new ShowApiRequest("http://route.showapi.com/2125-7","my_appId","my_appSecret") .addTextPara("key","keyname") .post(); System.out.println(res);

三、返回参数/ Return parameter

以JSON格式返回结果。

1、系统级参数(所有接入点都会返回的参数): 展开收起
名称 类型 示例值 描述
showapi_res_body String {"city":"昆明","prov":"云南"} 消息体的JSON封装,所有应用级的返回参数将嵌入此对象 。
showapi_res_code int 0
易源返回标志,0为成功,其他为失败。
0成功
-1,系统调用错误
-2,可调用次数或金额为0
-3,读取超时
-4,服务端返回数据解析错误
-5,后端服务器DNS解析错误
-6,服务不存在或未上线
-7, API创建者的网关资源不足
-1000,系统维护
-1002,showapi_appid字段必传
-1003,showapi_sign字段必传
-1004,签名sign验证有误
-1005,showapi_timestamp无效
-1006,app无权限调用接口
-1007,没有订购套餐
-1008,服务商关闭对您的调用权限
-1009,调用频率受限
-1010,找不到您的应用
-1011,子授权app_child_id无效
-1012,子授权已过期或失效
-1013,子授权ip受限
-1014,token权限无效
showapi_res_error String 用户输入有误! 错误信息的展示
showapi_res_id String ce135f6739294c63be0c021b76b6fbff 本次请求id
...
2、应用级参数(系统级输出参数showapi_res_body字段中的json数据结构): 展开收起
名称 类型 示例值 描述
ret Number
1
remark String
ret_code Number
0
...
返回示例:{ "showapi_res_error": "", "showapi_res_id": "6d23cd672c8a44a7888003a2883107d3", "showapi_res_code": 0, "showapi_res_body": { "ret": 1, "remark": "", "ret_code": 0 } }

incr


接口地址:http://route.showapi.com/2125-8 (注意:接口支持https,更安全,但稍慢一些,你懂的。请根据自己的情况进行选择。)
支持格式:json
请求方法:HTTP协议,支持GET/POST方法。

二、请求参数/ Request parameter

非文件上传的POST时,enctype=application/x-www-form-urlencoded。
文件上传的POST时,enctype=multipart/form-data。

1、系统级参数(所有接入点都需要的参数):
参数名称 类型 示例值 必须 描述
showapi_appid String 100 易源应用id
showapi_sign String 698d51a19d8a121ce581499d7b701668 为了验证用户身份,以及确保参数不被中间人篡改,需要传递调用者的数字签名。 可选,在url后带上appid和secret即可
showapi_timestamp String 20141114142239 客户端时间。
格式yyyyMMddHHmmss,如20141114142239
为了在一定程度上防止“重放攻击”,平台只接受在10分钟之内的请求。如果不传或传空串,则系统不再做此字段的检测。
showapi_res_gzip String 1或0 返回值是否用gzip方式压缩。此值为1时将压缩,其他值不压缩。
...
2、应用级参数(每个接入点有自己的参数,当前接入点的参数见下表):
参数名称 类型 默认值 示例值 必须 描述
key String
keyname
键值 key-value 结构中的 key,用于查找缓存值。
value String
testvalue
存储的值,可理解为key-value结构中的value。
请求示例:String res=new ShowApiRequest("http://route.showapi.com/2125-8","my_appId","my_appSecret") .addTextPara("key","keyname") .addTextPara("value","testvalue") .post(); System.out.println(res);

三、返回参数/ Return parameter

以JSON格式返回结果。

1、系统级参数(所有接入点都会返回的参数): 展开收起
名称 类型 示例值 描述
showapi_res_body String {"city":"昆明","prov":"云南"} 消息体的JSON封装,所有应用级的返回参数将嵌入此对象 。
showapi_res_code int 0
易源返回标志,0为成功,其他为失败。
0成功
-1,系统调用错误
-2,可调用次数或金额为0
-3,读取超时
-4,服务端返回数据解析错误
-5,后端服务器DNS解析错误
-6,服务不存在或未上线
-7, API创建者的网关资源不足
-1000,系统维护
-1002,showapi_appid字段必传
-1003,showapi_sign字段必传
-1004,签名sign验证有误
-1005,showapi_timestamp无效
-1006,app无权限调用接口
-1007,没有订购套餐
-1008,服务商关闭对您的调用权限
-1009,调用频率受限
-1010,找不到您的应用
-1011,子授权app_child_id无效
-1012,子授权已过期或失效
-1013,子授权ip受限
-1014,token权限无效
showapi_res_error String 用户输入有误! 错误信息的展示
showapi_res_id String ce135f6739294c63be0c021b76b6fbff 本次请求id
...
2、应用级参数(系统级输出参数showapi_res_body字段中的json数据结构): 展开收起
名称 类型 示例值 描述
remark String
ret_code Number
0
...
返回示例:{ "showapi_res_error": "", "showapi_res_id": "c748f9fc8cd644ab99c14dc0487da2d2", "showapi_res_code": 0, "showapi_res_body": { "remark": "", "ret_code": 0 } }

stats


接口地址:http://route.showapi.com/2125-9 (注意:接口支持https,更安全,但稍慢一些,你懂的。请根据自己的情况进行选择。)
支持格式:json
请求方法:HTTP协议,支持GET/POST方法。

二、请求参数/ Request parameter

非文件上传的POST时,enctype=application/x-www-form-urlencoded。
文件上传的POST时,enctype=multipart/form-data。

1、系统级参数(所有接入点都需要的参数):
参数名称 类型 示例值 必须 描述
showapi_appid String 100 易源应用id
showapi_sign String 698d51a19d8a121ce581499d7b701668 为了验证用户身份,以及确保参数不被中间人篡改,需要传递调用者的数字签名。 可选,在url后带上appid和secret即可
showapi_timestamp String 20141114142239 客户端时间。
格式yyyyMMddHHmmss,如20141114142239
为了在一定程度上防止“重放攻击”,平台只接受在10分钟之内的请求。如果不传或传空串,则系统不再做此字段的检测。
showapi_res_gzip String 1或0 返回值是否用gzip方式压缩。此值为1时将压缩,其他值不压缩。
...
2、应用级参数(每个接入点有自己的参数,当前接入点的参数见下表):
参数名称 类型 默认值 示例值 必须 描述
type String
items
可取items, sizes, slabs三个值
请求示例:String res=new ShowApiRequest("http://route.showapi.com/2125-9","my_appId","my_appSecret") .addTextPara("type","items") .post(); System.out.println(res);

三、返回参数/ Return parameter

以JSON格式返回结果。

1、系统级参数(所有接入点都会返回的参数): 展开收起
名称 类型 示例值 描述
showapi_res_body String {"city":"昆明","prov":"云南"} 消息体的JSON封装,所有应用级的返回参数将嵌入此对象 。
showapi_res_code int 0
易源返回标志,0为成功,其他为失败。
0成功
-1,系统调用错误
-2,可调用次数或金额为0
-3,读取超时
-4,服务端返回数据解析错误
-5,后端服务器DNS解析错误
-6,服务不存在或未上线
-7, API创建者的网关资源不足
-1000,系统维护
-1002,showapi_appid字段必传
-1003,showapi_sign字段必传
-1004,签名sign验证有误
-1005,showapi_timestamp无效
-1006,app无权限调用接口
-1007,没有订购套餐
-1008,服务商关闭对您的调用权限
-1009,调用频率受限
-1010,找不到您的应用
-1011,子授权app_child_id无效
-1012,子授权已过期或失效
-1013,子授权ip受限
-1014,token权限无效
showapi_res_error String 用户输入有误! 错误信息的展示
showapi_res_id String ce135f6739294c63be0c021b76b6fbff 本次请求id
...
2、应用级参数(系统级输出参数showapi_res_body字段中的json数据结构): 展开收起
名称 类型 示例值 描述
ret String[]
["STAT items:1:number 4","STAT items:1:number_hot 0","STAT items:1:number_warm 0","STAT items:1:number_cold 4","STAT items:1:age_hot 0","STAT items:1:age_warm 0","STAT items:1:age 152800","STAT items:1:mem_requested 297","STAT items:1:evicted 0","STAT items:1:evicted_nonzero 0","STAT items:1:evicted_time 0","STAT items:1:outofmemory 0","STAT items:1:tailrepairs 0","STAT items:1:reclaimed 0","STAT items:1:expired_unfetched 0","STAT items:1:evicted_unfetched 0","STAT items:1:evicted_active 0","STAT items:1:crawler_reclaimed 0","STAT items:1:crawler_items_checked 171","STAT items:1:lrutail_reflocked 0","STAT items:1:moves_to_cold 63","STAT items:1:moves_to_warm 11","STAT items:1:moves_within_lru 8","STAT items:1:direct_reclaims 0","STAT items:1:hits_to_hot 10","STAT items:1:hits_to_warm 8","STAT items:1:hits_to_cold 39","STAT items:1:hits_to_temp 0","STAT items:2:number 1","STAT items:2:number_hot 0","STAT items:2:number_warm 0","STAT items:2:number_cold 1","STAT items:2:age_hot 0","STAT items:2:age_warm 0","STAT items:2:age 94283","STAT items:2:mem_requested 107","STAT items:2:evicted 0","STAT items:2:evicted_nonzero 0","STAT items:2:evicted_time 0","STAT items:2:outofmemory 0","STAT items:2:tailrepairs 0","STAT items:2:reclaimed 0","STAT items:2:expired_unfetched 0","STAT items:2:evicted_unfetched 0","STAT items:2:evicted_active 0","STAT items:2:crawler_reclaimed 0","STAT items:2:crawler_items_checked 35","STAT items:2:lrutail_reflocked 0","STAT items:2:moves_to_cold 2","STAT items:2:moves_to_warm 0","STAT items:2:moves_within_lru 0","STAT items:2:direct_reclaims 0","STAT items:2:hits_to_hot 0","STAT items:2:hits_to_warm 0","STAT items:2:hits_to_cold 1","STAT items:2:hits_to_temp 0"]
参数含义参见帮助文档
remark String
ret_code Number
0
...
返回示例:{ "showapi_res_error": "", "showapi_res_id": "52fb2f3e1a16434c9e0c35ddf15438e9", "showapi_res_code": 0, "showapi_res_body": { "ret": [ "STAT items:1:number 4", "STAT items:1:number_hot 0", "STAT items:1:number_warm 0", "STAT items:1:number_cold 4", "STAT items:1:age_hot 0", "STAT items:1:age_warm 0", "STAT items:1:age 152800", "STAT items:1:mem_requested 297", "STAT items:1:evicted 0", "STAT items:1:evicted_nonzero 0", "STAT items:1:evicted_time 0", "STAT items:1:outofmemory 0", "STAT items:1:tailrepairs 0", "STAT items:1:reclaimed 0", "STAT items:1:expired_unfetched 0", "STAT items:1:evicted_unfetched 0", "STAT items:1:evicted_active 0", "STAT items:1:crawler_reclaimed 0", "STAT items:1:crawler_items_checked 171", "STAT items:1:lrutail_reflocked 0", "STAT items:1:moves_to_cold 63", "STAT items:1:moves_to_warm 11", "STAT items:1:moves_within_lru 8", "STAT items:1:direct_reclaims 0", "STAT items:1:hits_to_hot 10", "STAT items:1:hits_to_warm 8", "STAT items:1:hits_to_cold 39", "STAT items:1:hits_to_temp 0", "STAT items:2:number 1", "STAT items:2:number_hot 0", "STAT items:2:number_warm 0", "STAT items:2:number_cold 1", "STAT items:2:age_hot 0", "STAT items:2:age_warm 0", "STAT items:2:age 94283", "STAT items:2:mem_requested 107", "STAT items:2:evicted 0", "STAT items:2:evicted_nonzero 0", "STAT items:2:evicted_time 0", "STAT items:2:outofmemory 0", "STAT items:2:tailrepairs 0", "STAT items:2:reclaimed 0", "STAT items:2:expired_unfetched 0", "STAT items:2:evicted_unfetched 0", "STAT items:2:evicted_active 0", "STAT items:2:crawler_reclaimed 0", "STAT items:2:crawler_items_checked 35", "STAT items:2:lrutail_reflocked 0", "STAT items:2:moves_to_cold 2", "STAT items:2:moves_to_warm 0", "STAT items:2:moves_within_lru 0", "STAT items:2:direct_reclaims 0", "STAT items:2:hits_to_hot 0", "STAT items:2:hits_to_warm 0", "STAT items:2:hits_to_cold 1", "STAT items:2:hits_to_temp 0" ], "remark": "", "ret_code": 0 } }

服务商介绍:易源数据是昆明秀派科技有限公司旗下的大数据生产、交易、流通平台。

易源数据通过打破资源壁垒,搭建起数据资源的基础设施,将接口纳入统一的接口池,把多个异构数据源合并到同一根管线上,以统一的访问和控制方式,对外提供统一格式的数据。

让开发者可以像搭积木一样通过各种API操纵资源。

截至2017年12月,平台已经拥有API接口230个,日调用量2000万,覆盖全网10万+真实消费者,为超过3000+的企业用户提供全域数据服务。

 

联系方式:

电话: 4009988033

 

微博: http://www.weibo.com/showapi

 

邮箱: services@showapi.com

 

QQ: 3007663665

 

微信: show_api

进制数据介绍:

企业和程序员可以通过进制数据封装的API或SDK极速接入其他数据资源,同时进制数据提供数据交易等服务。通过进制数据,不仅开发成本极大降低,而且可以获得其他丰富的数据服务:数据交易,数据分析,区块链Token管理等服务。

 

 

联系我们:

电话:173-6457-5198

QQ① 群:792473404

客服 QQ:1643296538

微信客服:binstds

                                      扫描二维码添加客服微信

 

 

工作时间

 周一至周五 9:00 - 21:00(其中周三为 9:00 - 18:00) 

周六 9:00 - 12:00(节假日除外) 

 

 

进制数据团队

 

 

2020.01.01

 

 

 

 

 


其他服务商
热门API推荐
相关API推荐