Mysql的HandlerSocket插件

作者: nick 分类: linux, mysql, open, php 发布时间: 2011-07-05 01:43 ė 6没有评论

http://who0168.blog.51cto.com/253401/511944

PHP使用实例

openIndex(1, $dbname, $table, HandlerSocket::PRIMARY, 'k,v')))
{
    echo $hs->getError(), PHP_EOL;
    die();
}

$retval = $hs->executeSingle(1, '=', array('k1'), 1, 0);

var_dump($retval);

$retval = $hs->executeMulti(
    array(array(1, '=', array('k1'), 1, 0),
          array(1, '=', array('k2'), 1, 0)));

var_dump($retval);

unset($hs);


//UPDATE
$hs = new HandlerSocket($host, $port_wr);
if (!($hs->openIndex(2, $dbname, $table, '', 'v')))
{
    echo $hs->getError(), PHP_EOL;
    die();
}

if (!($hs->executeUpdate(2, '=', array('k1'), array('V1'), 1, 0)))
{
    echo $hs->getError(), PHP_EOL;
    die();
}

unset($hs);


//INSERT
$hs = new HandlerSocket($host, $port_wr);
if (!($hs->openIndex(3, $dbname, $table, '', 'k,v')))
{
    echo $hs->getError(), PHP_EOL;
    die();
}

if (!($hs->executeInsert(3, array('k2', 'v2'))))
{
    echo $hs->getError(), PHP_EOL;
}
if (!($hs->executeInsert(3, array('k3', 'v3'))))
{
    echo $hs->getError(), PHP_EOL;
}
if (!($hs->executeInsert(3, array('k4', 'v4'))))
{
    echo $hs->getError(), PHP_EOL;
}

unset($hs);


//DELETE
$hs = new HandlerSocket($host, $port_wr);
if (!($hs->openIndex(4, $dbname, $table, '', '')))
{
    echo $hs->getError(), PHP_EOL;
    die();
}

if (!($hs->executeDelete(4, '=', array('k2'))))
{
    echo $hs->getError(), PHP_EOL;
    die();
}

3.方法注释
openIndex(1, $dbname, $table, HandlerSocket::PRIMARY, ‘k,v’)
打开索引,第一个参数1用来在每个HandlerSocket对象中唯一标识一个表名;$dbname表示为数据库名;$table表示为表名;HandlerSocket::PRIMARY表示为索引名;’k,v’表示为要查询的列名。
executeSingle(1, ‘=’, array(‘k1’), 1, 0)
执 行查询,第一个参数要跟之前的openIndex方法中的第一个参数保持一致;第二个参数’=’表示检索的条件,支持’=’,’>=’,’& lt;=’,’>’,’<’;第三个参数array(‘k1’)表示一个arrayref,指定检索的key,其长度必须小于或者等于对应索 引的列数;第四个和第五个参数指定查询的limit和offset。
executeMulti 可在一次调用中执行多个操作。

本文出自 传播、沟通、分享,转载时请注明出处及相应链接。

本文永久链接: https://www.nickdd.cn/?p=1622

发表评论

您的电子邮箱地址不会被公开。

Ɣ回顶部