couchbase PHP批量插入

时间:2014-10-28 17:39:08

标签: php couchdb couchbase

我无法使用PHP SDK批量插入文档。我必须像

一样单独插入每个
$temp = $db->upsert("key here", "value here");

我可以达到约500 /秒。我试图使用cbcdocloader,但我不能生成json比仅使用SDK直接插入它们更快。我试图插入多个文件与一个插入,所以我不必生成所有的流量。有没有办法用下面的数组结构来做到这一点?

 $data = array("key 1"=> "value 1", "key 2" => "value 2")

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。

即便如此,这也是你在循环中所做的事情。