MySQL HandleSocket

作者: darcyaf | 来源:发表于2016-12-29 09:24 被阅读0次

    工作原理

    mysql的一个Plugin,集成在mysqld进程中.直接跳过了SQL的解析层,直接访问MySQL存储层.另外,HandlerSocket采用epoll和worker-thread/thread-pooling网络架构,性能更高.

    HandlerSocket 安装和配置

    • mariadb部分
    • 之后已经加入了这个插件,如果需要安装只需要运行
        install plugin handlersocket sonamee 'ahndlersocket.so'
      
    • 配置my.cnf
    [mysqld]
    handlersocket_address="127.0.0.1"
    handlersocket_port="9998"
    handlersocket_port_wr="9999"
    innodb_buffer_pool_size = 1G
    
    

    然后重新运行就可以了.

    • php部分:
      使用composer的话
      php composer.phar require tz-lom/hsphp --no-update
    

    也就可以使用了

    基本使用方法

    https://github.com/tz-lom/HSPHP

    //select
    $c = new \HSPHP\ReadSocket();
    $c->connect();$id = $c->getIndexId('data_base_name', 'table_name', '', 'id,name,some,thing,more');
    $c->select($id, '=', array(42)); // SELECT WITH PRIMARY KEY
    $response = $c->readResponse();
    //update
    $id = $c->getIndexId('data_base_name','table_name','','k,v');
    $c->update($id,'=',array(100500),array(100500,42)); // Update row(k,v) with id 100500 to k = 100500, v = 42
    $response = $c->readResponse(); // Has 1 if OK
    

    性能测试

    这个我没做,大概是4-5倍左右吧

    相关文章

      网友评论

        本文标题:MySQL HandleSocket

        本文链接:https://www.haomeiwen.com/subject/hasuvttx.html