标签:Apache-Ignite-1.4.0-中文开发手册
[TOC]
12.HTTP
12.1.REST API
Ignite提供了一个HTTP REST客户端,可以以REST的方式通过HTTP或者HTTPS协议与集群进行通信。REST API可以用于执行不同的操作,比如从/对缓存的读/写,执行任务,获取各种指标等等。
- log
- version
- decr
- incr
- cache
- cas
- prepend
- append
- rep
- getrep
- repval
- rmvall
- rmvval
- rmv
- getrmv
- add
- putall
- put
- getall
- get
- conkey
- conkeys
- getput
- putifabs
- getputifabs
- size
- getorcreate
- destcache
- node
- top
- exe
- res
- qryexe
- qryfldexe
- qryfetch
- qrycls
12.1.1.返回值
HTTP REST请求返回一个JSON对象,每一个命令都有一个类似的结构,这个对象有如下的结构:
|名字|类型|描述|示例|
|---|---|---|---|
|affinityNodeId|string|关联节点ID|2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37|
|error|string|如果服务器无法处理请求,出现的错误的描述|每个命令单独指定|
|response|jsonObject|包含命令执行结果的字段|每个命令单独指定|
|successStatus|Integer|返回状态码:
成功:0
失败:1
授权失败:2
安全检查失败:3|0|
12.1.2.log
log命令显示服务器的日志。 URL:
http://host:port/ignite?cmd=log&from=10&to=100&path=/var/log/ignite.log
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|log,小写|| |from|integer|是|开始的行号,如果传入了to参数,该参数为必须|0| |path|string|是|日志文件的路径,如果未提供,会使用如下值:work/log/ignite.log|log/cache_server.log| |to|integer|是|结束的行号,如果传入了from参数,该参数为必须|1000|
返回值示例
{
"error": "",
"response": ["[14:01:56,626][INFO ][test-runner][GridDiscoveryManager] Topology snapshot [ver=1, nodes=1, CPUs=8, heap=1.8GB]"],
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | string | 日志 | ["[14:01:56,626][INFO ][test-runner][GridDiscoveryManager] Topology snapshot [ver=1, nodes=1, CPUs=8, heap=1.8GB]"] |
12.1.3.version
version命令显示当前Ignite的版本。 URL:
http://host:port/ignite?cmd=version
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|version,小写||
返回值示例
{
"error": "",
"response": "1.0.0",
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | string | Ignite版本 | 1.0.0 |
12.1.4.decr
decr命令减去然后获得给定原子性Long类型的当前值。 URL:
http://host:port/ignite?cmd=decr&cacheName=partionedCache&key=decrKey&init=15&delta=10
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|decr,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|原子性Long类型的名称|counter| |init|long|是|初始值|15| |delta|long|否|减去的值|42|
返回值示例
{
"affinityNodeId": "e05839d5-6648-43e7-a23b-78d7db9390d5",
"error": "",
"response": -42,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | long | 操作之后的值 | -42 |
12.1.5.incr
incr命令增加然后获得给定原子性Long类型的当前值。 URL:
http://host:port/ignite?cmd=incr&cacheName=partionedCache&key=incrKey&init=15&delta=10
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|incr,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|原子性Long类型的名称|counter| |init|long|是|初始值|15| |delta|long|否|增加的值|42|
返回值示例
{
"affinityNodeId": "e05839d5-6648-43e7-a23b-78d7db9390d5",
"error": "",
"response": 42,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | long | 操作之后的值 | 42 |
12.1.6.cache
cache命令可以获得Ignite缓存的指标。 URL:
http://host:port/ignite?cmd=cache&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|cache,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "",
"error": "",
"response": {
"createTime": 1415179251551,
"hits": 0,
"misses": 0,
"readTime": 1415179251551,
"reads": 0,
"writeTime": 1415179252198,
"writes": 2
},
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | JSON对象包含了缓存的指标,比如创建时间,读计数等 | { |
"createTime": 1415179251551, "hits": 0, "misses": 0, "readTime":1415179251551, "reads": 0,"writeTime": 1415179252198, "writes": 2 }|
12.1.7.cas
cas命令在之前的值等于预期值时会在缓存中存储给定的键值对。 URL:
http://host:port/ignite?cmd=cas&key=casKey&val2=casOldVal&val1=casNewVal&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|cas,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要保存的键值|name| |val|string|否|与给定键对应的值|Jack| |val2|string|否|预期值|Bob| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | 如果替换发生则为true,否则false | true |
12.1.8.prepend
prepend命令为给定的键关联的值增加一个前缀。 URL:
http://host:port/ignite?cmd=prepend&key=prependKey&val=prefix_&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|prepend,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要保存的键值|name| |val|string|否|为当前值要增加的前缀|Name_| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | 如果替换发生则为true,否则false | true |
12.1.9.append
append命令为给定的键关联的值增加一个后缀。 URL:
http://host:port/ignite?cmd=append&key=appendKey&val=_suffix&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|append,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要保存的键值|name| |val|string|否|为当前值要增加的后缀|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | 如果替换发生则为true,否则false | true |
12.1.10.rep
rep命令为给定的键存储一个新值。 URL:
http://host:port/ignite?cmd=rep&key=repKey&val=newValue&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rep,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要保存的键值|name| |val|string|否|与给定键关联的新值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | 如果替换发生则为true,否则false | true |
12.1.11.getrep
getrep命令为给定的键存储一个新值,然后返回原值。 URL:
http://host:port/ignite?cmd=getrep&key=repKey&val=newValue&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|getrep,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要保存的键值|name| |val|string|否|与给定键关联的新值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": oldValue,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | 给定键的原值 | {"name": "Bob"} |
12.1.12.repval
repval命令在之前的值等于预期值时会替换给定键的值。 URL:
http://host:port/ignite?cmd=repval&key=repKey&val=newValue&val2=oldVal&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|repval,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内的键值|name| |val|string|否|与给定键对应的值|Jack| |val2|string|否|预期值|oldValue| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | 如果替换发生则为true,否则false | true |
12.1.13.rmvall
rmvall命令会从缓存中删除给定键的数据。 URL:
http://host:port/ignite?cmd=rmvall&k1=rmKey1&k2=rmKey2&k3=rmKey3&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rmvall,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |k1...kN|string|否|要从缓存中删除的键|name| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | 如果删除发生则为true,否则false | true |
12.1.14.rmvval
rmvval命令当当前值等于预期值时在缓存中删除给定键对应的映射。 URL:
http://host:port/ignite?cmd=rmvval&key=rmvKey&val=rmvVal&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rmvval,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要删除的键值|name| |val|string|否|与给定键关联的期望值|oldValue| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | false,如果没有映射的键 | true |
12.1.15.rmv
rmv命令在缓存中删除给定键对应的映射。 URL:
http://host:port/ignite?cmd=rmv&key=rmvKey&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rmv,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要删除的键值|name| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | true,如果删除发生,否则,false | true |
12.1.16.getrmv
getrmv命令在缓存中删除给定键的映射,然后返回原值。 URL:
http://host:port/ignite?cmd=getrmv&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|getrep,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要删除的键值|name| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": value,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | 给定键的原值 | {"name": "Bob"} |
12.1.17.add
add命令当缓存中不存在该映射时存储该映射。 URL:
http://host:port/ignite?cmd=add&key=newKey&val=newValue&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|add,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要存储的键值|name| |val|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | true,如果成功存储,否则,false | true |
12.1.18.putall
putall命令会在缓存中存储给定的键值对。 URL:
http://host:port/ignite?cmd=putall&k1=putKey1&k2=putKey2&k3=putKey3&v1=value1&v2=value2&v3=value3&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|putall,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |k1...kN|string|否|要在缓存中保存的键|name| |v1...vN|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | 如果成功保存则为true,否则false | true |
12.1.19.put
put命令在缓存中存储该映射。 URL:
http://host:port/ignite?cmd=put&key=newKey&val=newValue&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|put,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要存储的键值|name| |val|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "1bcbac4b-3517-43ee-98d0-874b103ecf30",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | true,如果成功存储,否则,false | true |
12.1.20.getall
getall命令会从缓存中获取给定键的数据。 URL:
http://host:port/ignite?cmd=getall&k1=getKey1&k2=getKey2&k3=getKey3&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rmvall,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |k1...kN|string|否|要从缓存中获取的值对应的键|key1, key2, ..., keyN| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "",
"error": "",
"response": {
"key1": "value1",
"key2": "value2"
},
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | 键值对映射 | {"key1": "value1","key2": "value2"} |
12.1.21.get
get命令在缓存中获取给定的键对应的值。 URL:
http://host:port/ignite?cmd=get&key=getKey&cacheName=partionedCache&destId=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|get,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|要返回的值对应的键|testKey| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
"error": "",
"response": "value",
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | 给定键的值 | {"name": "Bob"} |
12.1.22.conkey
conkey命令在缓存中检测是否有给定键对应的条目。 URL:
http://host:port/ignite?cmd=conkey&key=getKey&cacheName=partionedCache
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|conkey,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|在缓存中检测是否存在的键|testKey| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | 存在给定键对应的映射则为true | true |
12.1.23.conkeys
conkeys命令在缓存中检测是否有给定键对应的条目。 URL:
http://host:port/ignite?cmd=conkeys&k1=getKey1&k2=getKey2&k3=getKey3&cacheName=partionedCache
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|rmvall,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |k1...kN|string|否|在缓存中检测是否存在的键|key1, key2, ..., keyN| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | 存在给定键对应的映射则为true | true |
12.1.24.getput
getput命令在缓存中存储给定的键值对,如果之前存在该映射的话则返回原值。 URL:
http://host:port/ignite?cmd=getput&key=getKey&val=newVal&cacheName=partionedCache
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|getput,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要存储的键值|name| |val|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
"error": "",
"response": "value",
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | 给定键的原值 | {"name": "bob"} |
12.1.25.putifabs
putifabs命令只有在缓存中存在该映射的话才会存储给定的键值对。 URL:
http://host:port/ignite?cmd=putifabs&key=getKey&val=newVal&cacheName=partionedCache
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|putifabs,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要存储的键|name| |val|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
"error": "",
"response": true,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | 成功存储则为true | true |
12.1.26.getputifabs
getputifabs命令只有在缓存中不存在该映射时才会进行存储,否则会返回对应该键的原值。 URL:
http://host:port/ignite?cmd=getputifabs&key=getKey&val=newVal&cacheName=partionedCache
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|getputifabs,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache| |key|string|否|缓存内要存储的键值|name| |val|string|否|与给定键关联的值|Jack| |destId|string|是|要返回指标的节点Id|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"affinityNodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
"error": "",
"response": "value",
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | 给定键对应的原值 | {"name": "bob"} |
12.1.27.size
size命令返回指定缓存的总条目的数量。 URL:
http://host:port/ignite?cmd=size&cacheName=partionedCache
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|size,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache|
返回值示例
{
"affinityNodeId": "",
"error": "",
"response": 1,
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | number | 给定缓存的总条目数量 | 5 |
12.1.28.getorcreate
getorcreate命令如果不存在的话会创建给定名字的缓存。 URL:
http://host:port/ignite?cmd=getorcreate&cacheName=partionedCache
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|getorcreate,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache|
返回值示例
{
"error": "",
"response": null,
"successStatus": 0
}
12.1.29.destcache
destcache命令删除给定名字的缓存。 URL:
http://host:port/ignite?cmd=destcache&cacheName=partionedCache
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|destcache,小写|| |cacheName|string|是|缓存名称,如果未提供,会使用默认的缓存|partionedCache|
返回值示例
{
"error": "",
"response": null,
"successStatus": 0
}
12.1.30.node
node命令获取一个节点的信息。 URL:
http://host:port/ignite?cmd=node&attr=true&mtr=true&id=c981d2a1-878b-4c67-96f6-70f93a4cd241
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|node,小写|| |mtr|boolean|是|如果为true,返回值会包含指标信息|true| |attr|boolean|是|如果为true,返回值会包含属性信息|true| |ip|string|是|如果传递了id参数该参数是可选的。返回值包含了指定IP对应的节点信息|192.168.0.1| |id|string|是|如果传递了ip参数该参数为可选的。返回值包含了指定节点id对应的节点信息|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"error": "",
"response": {
"attributes": null,
"caches": {},
"consistentId": "127.0.0.1:47500",
"defaultCacheMode": "REPLICATED",
"metrics": null,
"nodeId": "2d0d6510-6fed-4fa3-b813-20f83ac4a1a9",
"replicaCount": 128,
"tcpAddresses": ["127.0.0.1"],
"tcpHostNames": [""],
"tcpPort": 11211
},
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | 一个节点的信息 | {"attributes": null,"caches": {},"consistentId": "127.0.0.1:47500","defaultCacheMode": "REPLICATED","metrics": null,"nodeId": "2d0d6510-6fed-4fa3-b813-20f83ac4a1a9","replicaCount": 128,"tcpAddresses": ["127.0.0.1"],"tcpHostNames": [""],"tcpPort": 11211} |
12.1.31.top
top命令获取一个网络拓扑的信息。 URL:
http://host:port/ignite?cmd=top&attr=true&mtr=true&id=c981d2a1-878b-4c67-96f6-70f93a4cd241
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|top,小写|| |mtr|boolean|是|如果为true,返回值会包含指标信息|true| |attr|boolean|是|如果为true,返回值会包含属性信息|true| |ip|string|是|如果传递了id参数该参数是可选的。返回值包含了指定IP对应的节点信息|192.168.0.1| |id|string|是|如果传递了ip参数该参数为可选的。返回值包含了指定节点id对应的节点信息|8daab5ea-af83-4d91-99b6-77ed2ca06647|
返回值示例
{
"error": "",
"response": [
{
"attributes": {
...
},
"caches": {},
"consistentId": "127.0.0.1:47500",
"defaultCacheMode": "REPLICATED",
"metrics": {
...
},
"nodeId": "96baebd6-dedc-4a68-84fd-f804ee1ed995",
"replicaCount": 128,
"tcpAddresses": ["127.0.0.1"],
"tcpHostNames": [""],
"tcpPort": 11211
},
{
"attributes": {
...
},
"caches": {},
"consistentId": "127.0.0.1:47501",
"defaultCacheMode": "REPLICATED",
"metrics": {
...
},
"nodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",
"replicaCount": 128,
"tcpAddresses": ["127.0.0.1"],
"tcpHostNames": [""],
"tcpPort": 11212
}
],
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | 一个网络拓扑的信息 | [{"attributes": {...},"caches":{},"consistentId": "127.0.0.1:47500","defaultCacheMode":"REPLICATED","metrics": {...},"nodeId": "96baebd6-dedc-4a68-84fd-f804ee1ed995",..."tcpPort":1121,{"attributes": {...},"caches": {},"consistentId": "127.0.0.1:47501","defaultCacheMode": "REPLICATED","metrics": {...},"nodeId": "2bd7b049-3fa0-4c44-9a6d-b5c7a597ce37",..."tcpPort":11212}] |
12.1.32.exe
exe命令在集群中执行给定的任务。 URL:
http://host:port/ignite?cmd=exe&name=taskName&p1=param1&p2=param2&async=true
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|exe,小写|| |name|string|否|要执行的任务名|summ| |p1...pN|string|是|任务执行的参数|arg1...argN| |async|boolean|是|任务异步执行的标志|true|
返回值示例
{
"error": "",
"response": {
"error": "",
"finished": true,
"id": "~ee2d1688-2605-4613-8a57-6615a8cbcd1b",
"result": 4
},
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | JSON对象,包含了与错误有关的信息,任务的唯一标识,计算的结果和状态 | {"error": "","finished": true,"id":"~ee2d1688-2605-4613-8a57-6615a8cbcd1b","result": 4} |
12.1.33.res
res命令获取指定任务的计算结果。 URL:
http://host:port/ignite?cmd=res&id=8daab5ea-af83-4d91-99b6-77ed2ca06647
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|res,小写|| |id|string|否|要返回结果的任务id|69ad0c48941-4689aae0-6b0e-4d52-8758-ce8fe26f497d~4689aae0-6b0e-4d52-8758-ce8fe26f497d|
返回值示例
{
"error": "",
"response": {
"error": "",
"finished": true,
"id": "69ad0c48941-4689aae0-6b0e-4d52-8758-ce8fe26f497d~4689aae0-6b0e-4d52-8758-ce8fe26f497d",
"result": 4
},
"successStatus": 0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | JSON对象,包含了与错误有关的信息,任务的唯一标识,计算的结果和状态 | {"error": "","finished": true,"id":"~ee2d1688-2605-4613-8a57-6615a8cbcd1b","result": 4} |
12.1.34.qryexe
qryexe命令在缓存中执行指定的查询。 URL:
http://host:port/ignite?cmd=qryexe&type=Person&pzs=10&cacheName=Person&arg1=1000&arg2=2000qry=salary+%3E+%3F+and+salary+%3C%3D+%3F
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|qryexe,小写|| |type|string|否|要查询的类型|String| |pageSize|number|否|查询的每页大小|3| |cacheName|string|是|缓存名称,如果未提供则使用默认的缓存|testCache| |arg1...argN|string|否|查询的参数|1000,2000| |qry|string|否|编码后的sql|salary+%3E+%3F+and+salary+%3C%3D+%3F|
返回值示例
{
"error":"",
"response":{
"fieldsMetadata":[],
"items":[
{"key":3,"value":{"name":"Jane","id":3,"salary":2000}},
{"key":0,"value":{"name":"John","id":0,"salary":2000}}],
"last":true,
"queryId":0},
"successStatus":0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | JSON对象,包含了查询的结果集,最后页的标识以及查询的id | {"fieldsMetadata":[],"items":[{"key":3,"value":{"name":"Jane","id":3,salary":2000}},{"key":0,"value":{"name":"John","id":0,"salary":2000}}],"last":true,"queryId":0} |
12.1.35.qryfldexe
qryfldexe命令在缓存中执行指定的有字段的查询。 URL:
http://host:port/ignite?cmd=qryfldexe&pzs=10&cacheName=Person&qry=select+firstName%2C+lastName+from+Person
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|qryfldexe,小写|| |pageSize|number|否|查询的每页大小|3| |cacheName|string|是|缓存名称,如果未提供则使用默认的缓存|testCache| |arg1...argN|string|否|查询的参数|1000,2000| |qry|string|否|编码后的sql|select+firstName%2C+lastName+from+Person|
返回值示例
{
"error":"",
"response":{
"fieldsMetadata":[{"fieldName":"FIRSTNAME", "fieldTypeName":"java.lang.String", "schemaName":"person", "typeName":"PERSON"},{"fieldName":"LASTNAME","fieldTypeName":"java.lang.String","schemaName":"person","typeName":"PERSON"}],
"items":[["Jane","Doe"],["John","Doe"]],
"last":true,
"queryId":0
},
"successStatus":0}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | JSON对象,包含了查询的结果集,字段查询的元数据,最后页的标识以及查询的id | {"fieldsMetadata":[{"fieldName":"FIRSTNAME","fieldTypeName":"java.lang.String","schemaName":"person","typeName":"PERSON"},...],"items":[["Jane","Doe"],["John","Doe"]],"last":true,"queryId":0} |
12.1.36.qryfetch
qryfetch命令获取指定查询的下一页数据。 URL:
http://host:port/ignite?cmd=qryfetch&pzs=10&qryId=5
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|qryfetch,小写|| |pageSize|number|否|查询的每页大小|3| |qryId|number|否|qryexe,qryfldexe,qryfetch命令执行返回的查询id,|0|
返回值示例
{
"error":"",
"response":{
"fieldsMetadata":[],
"items":[["Jane","Doe"],["John","Doe"]],
"last":true,
"queryId":0
},
"successStatus":0}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | jsonObject | JSON对象,包含了查询的结果集,最后页的标识以及查询的id | {"fieldsMetadata":[],"items":[["Jane","Doe"],["John","Doe"]],"last":true,"queryId":0} |
12.1.37.qrycls
qrycls命令关闭查询占用的资源。 URL:
http://host:port/ignite?cmd=qrycls&qryId=5
请求参数 |名称|类型|可选|描述|示例| |---|---|---|---|---| |cmd|string|否|qrycls,小写|| |qryId|number|否|qryexe,qryfldexe,qryfetch命令执行返回的查询id,|0|
返回值示例
{
"error":"",
"response":true,
"successStatus":0
}
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
response | boolean | 如果成功关闭则为true | true |
12.2.配置
Ignite内部是使用Jetty提供的HTTP服务器功能,HTTP REST客户端是通过ConnectorConfiguration Bean配置的。
12.2.1.常规配置
参数名 | 描述 | 可选 | 默认值 |
---|---|---|---|
setSecretKey(String) | 定义了用于客户端认证的密钥,如果提供,客户端请求必须包含BASE64编码的"[1];[2]"哈希的"X-Signature"HTTP头,这里[1]是以毫秒为单位的时间戳,[2]是密钥 | 是 | null |
setPortRange(int) | Jetty服务器的端口范围,如果在Jetty配置文件或者IGNITE_JETTY_PORT系统属性提供的端口被占用,Ignite会反复地加1然后试图绑定,直到超过了提供的端口范围 | 是 | 100 |
setJettyPath(String) | Jetty配置文件的路径。可以是绝对路径也可以是相对于IGNITE_HOME的相对路径,如果未提供那么Ignite会使用一个简单的HTTP连接器启动Jetty服务器,这个连接器会分别使用IGNITE_JETTY_HOST和IGNITE_JETTY_PORT系统属性作为主机和端口,如果IGNITE_JETTY_HOST未提供,localhost会作为默认值,如果IGNITE_JETTY_PORT未提供,8080会作为默认值。 | 是 | null |
12.2.2.Jetty XML配置示例
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<Arg name="threadPool">
<!-- Default queued blocking thread pool -->
<New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
<Set name="minThreads">20</Set>
<Set name="maxThreads">200</Set>
</New>
</Arg>
<New id="httpCfg" class="org.eclipse.jetty.server.HttpConfiguration">
<Set name="secureScheme">https</Set>
<Set name="securePort">8443</Set>
<Set name="sendServerVersion">true</Set>
<Set name="sendDateHeader">true</Set>
</New>
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ServerConnector">
<Arg name="server"><Ref refid="Server"/></Arg>
<Arg name="factories">
<Array type="org.eclipse.jetty.server.ConnectionFactory">
<Item>
<New class="org.eclipse.jetty.server.HttpConnectionFactory">
<Ref refid="httpCfg"/>
</New>
</Item>
</Array>
</Arg>
<Set name="host">
<SystemProperty name="IGNITE_JETTY_HOST" default="localhost"/>
</Set>
<Set name="port">
<SystemProperty name="IGNITE_JETTY_PORT" default="8080"/>
</Set>
<Set name="idleTimeout">30000</Set>
<Set name="reuseAddress">true</Set>
</New>
</Arg>
</Call>
<Set name="handler">
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
<Set name="handlers">
<Array type="org.eclipse.jetty.server.Handler">
<Item>
<New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
</Item>
</Array>
</Set>
</New>
</Set>
<Set name="stopAtShutdown">false</Set>
</Configure>