airospike驱动程序的PHP get()和scan()方法不会返回完整记录

时间:2016-12-16 16:04:53

标签: php aerospike

我在Aerospike中放了一些数据,我可以通过AQL或C#驱动程序查询它没有问题。但是当我尝试通过PHP驱动程序时,我没有得到完整的记录。我在scan()方法中观察到了这个问题,之后我用get()方法尝试了相同的结果。

以下是使用get()方法的代码部分:

let matches = regex.matches(in: text, options: [], range: NSRange(location: 0, length: text.characters.count))
for match in matches {
    let newString = (text as NSString).substring(with: match.range)
    print(newString)
}

输出如下:

$config = ["hosts" => [["addr" => "192.168.x.x", "port" => 3000]]];
$db = new Aerospike($config);
if (!$db->isConnected()) 
{
  echo "Failed to connect to the Aerospike server [{$db->errorno()}]: {$db->error()}\n";
  exit(1);
}

$key = $db->initKey("company", "Company", 2456223);
$status = $db->get($key, $record);
echo "key->".$key['key']."\r\n";
print_r($record['bins']['address']);

和AQL输出:

key->2456223
Array
(
    [zip] => 12345
    [locality] => mytown
)

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:1)

似乎php在处理c#blob类型时遇到了一些问题。看起来地图的解析/打印正在中途中止。由于blob是由c#编写的,似乎它能够很好地处理它。但PHP似乎有问题。