我无法使用PHP SDK批量插入文档。我必须像
一样单独插入每个$temp = $db->upsert("key here", "value here");
我可以达到约500 /秒。我试图使用cbcdocloader,但我不能生成json比仅使用SDK直接插入它们更快。我试图插入多个文件与一个插入,所以我不必生成所有的流量。有没有办法用下面的数组结构来做到这一点?
$data = array("key 1"=> "value 1", "key 2" => "value 2")
答案 0 :(得分:2)
我只是不相信它,因为我在某个地方偶然发现它,当时我正在寻找别的东西......但是现在我尝试了它,它似乎工作了,我的性能提升了很多(做的时候)很多插入)。看来,你必须这样做(使用SDK 2.0和upsert()
):
$bucket->upsert(array(
'key1' => array('value' => 'value1'),
'key2' => array('value' => array('jsonkey' => 'jsonvalue')));
你必须在第二个数组中逐字地使用'value'
。
看来,您还可以使用以下方式指定选项:
$bucket->upsert(array(...), null, array('expiry' => 3600));
也许有人可以验证这个...
答案 1 :(得分:0)
没有批量上传api调用。
有一个批量插入http://docs.couchbase.com/couchbase-devguide-2.1/#performing-a-bulk-set的semo。
即便如此,这也是你在循环中所做的事情。