如何使用AeroSpike的PHP客户端增加浮点值?放置浮点值工作正常,但增量明显打破PHP进程并返回nginx坏网关。 我使用的代码:
$key = $db->initKey("test", "queries", 'bench');
$p = array('a' => 2.3);
$db->put($key, $p); // works fine
$db->increment($key, 'a', 4.2); // php process crashes at this point
答案 0 :(得分:1)
我们的一个生产应用程序也遇到了同样的问题,使用Aerospike Java客户端作为编写器,PHP客户端作为读者。我们通过将双倍货币转换为12位数并减少期限来存储我们的货币双倍数量来解决这个问题。例如,$ 1.2345将作为1234500000000存储在bin值中。这允许我们将增量多操作发送到Aerospike。
当PHP客户端将存储值读入我们的数据库服务器以进行报告时,我们会将64位int转换回双W / 12位数。 1234500000000 - > $ 1.2345