Ignite Rest Api - 增量方法

问题描述 投票:0回答:1

我无法获得增量值,当我执行 get 操作时,我得到的是我最初放置的值,而不是增量后的值

嗨,

我无法获得增量值,当我执行 get 操作时,我得到的是我最初放置的值,而不是增量后的值

1> 卷曲 'http://localhost:8080/ignite?cmd=put&cacheName=mycache&key=mykey&val=1'

{"successStatus":0,"affinityNodeId":"512ab48f-8c0b-4381-a59b-c32b55d91b08","错误":null,"response":true,"sessionToken":null}%

我已将值 0f“1”设置为“mykey”

2> 卷曲 'http://localhost:8080/ignite?cmd=incr&cacheName=mycache&key=mykey&delta=1' {"successStatus":0,"error":null,"response":1,"sessionToken":null}

我尝试将其增加 1,但“mykey”的值是 0f“1”

3> 卷曲 'http://localhost:8080/ignite?cmd=incr&cacheName=mycache&key=mykey&delta=1' {"successStatus":0,"error":null,"response":2,"sessionToken":null}%

我尝试再次将其增加 1,并且我得到“mykey”的值 0f“2”

4>curl 'http://localhost:8080/ignite?cmd=get&cacheName=mycache&key=mykey' {“successStatus”:0,“affinityNodeId”:“512ab48f-8c0b-4381-a59b-c32b55d91b08”,“错误”:空,“响应”:“1”,“sessionToken”:空}% 我尝试获取“mykey”的值并获取值0f“1”

我想获得增量值,在我的例子中为“2”。 有谁可以指导一下吗

counter ignite
1个回答
0
投票

IncrementDecrement REST API 端点设计用于使用 IgniteAtomicLong 数据结构,而不是特定的缓存值。

不幸的是,文档中有一个错误,事实上,列出的

cacheName
参数不适用于这些端点,这可能会令人困惑,我已经就该问题提交了文档票证

作为解决方法,您可以尝试使用

Compare-And-Swap
端点对缓存中的特定值进行原子更新。有关详细信息,请参阅此处

© www.soinside.com 2019 - 2024. All rights reserved.