首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phpcassa cassandra批量突变

phpcassa cassandra批量突变
EN

Stack Overflow用户
提问于 2012-01-11 19:32:17
回答 2查看 427关注 0票数 1

你能在phpcassa中提供一个batch_mutate()函数的例子吗?

无法理解如何使用此函数,并且没有找到任何足够的信息。

我还想知道如何在计数器中使用它

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-02 18:58:52

“删除多个key中的数据”:

代码语言:javascript
复制
function batch_remove($key=null, $columns=null, $super_column=null, $write_consistency_level=null) {

    $timestamp = CassandraUtil::get_time();
    $deletion = new cassandra_Deletion();
    $deletion->timestamp = $timestamp;

    if ($super_column !== null) $deletion->super_column = $this->pack_name($super_column, true);
    else $deletion->super_column = null;

    if ($columns !== null) {
        $predicate = $this->create_slice_predicate($columns, '', '', false, self::DEFAULT_COLUMN_COUNT);
        $deletion->predicate = $predicate;
    }

    $mutation = new cassandra_Mutation();
    $mutation->deletion = $deletion;

    if (is_array($key) && count($key) >= 1) {

        $mut_map = array();
        foreach($key as $v) {
            $packed_key[$v] = $this->pack_key($v);
            $mut_map[$v] = array($this->column_family => array($mutation));
        }

        return $this->pool->call("batch_mutate", $mut_map, $this->wcl($write_consistency_level));

    } else return false;

}

//delete name1, name2, name3 from key1, key2 in a single call
$column_family->batch_remove(array(key1, key2), array(name1, name2, name3));
票数 3
EN

Stack Overflow用户

发布于 2012-01-12 16:24:23

根据教程:http://thobbs.github.com/phpcassa/tutorial.html

  1. batch_mutate on counters还不能与PHPCassa:https://github.com/thobbs/phpcassa/issues/31
  2. batch_mutate一起使用

“插入数据”:

代码语言:javascript
复制
 $row1 = array('name1' => 'val1', 'name2' => 'val2');
 $row2 = array('foo' => 'bar');
 $column_family->batch_insert(array('row1' => $row1, 'row2' => $row2);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8818512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档