我无法获得增量值,当我执行 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”。 有谁可以指导一下吗
Increment 和 Decrement REST API 端点设计用于使用 IgniteAtomicLong 数据结构,而不是特定的缓存值。
不幸的是,文档中有一个错误,事实上,列出的
cacheName
参数不适用于这些端点,这可能会令人困惑,我已经就该问题提交了文档票证。
作为解决方法,您可以尝试使用
Compare-And-Swap
端点对缓存中的特定值进行原子更新。有关详细信息,请参阅此处。