zoukankan      html  css  js  c++  java
  • Swoole 内存操作(Table)

    使用:

    //实例化表格,参数 int : 最大行数
    $table = new swoole_table(1024);
    //设置表格字段  参数 (字段名:string , 字段类型:int、float、string , 长度:int)
    $table->column('id',$table::TYPE_INT,4);
    $table->column('name',$table::TYPE_STRING,64);
    $table->column('price',$table::TYPE_INT,11);
    //创建表格
    $table->create();
    //添加数据  两种方式
    $table->set('iphoneX',['id'=>1,'name'=>'iphoneX','price'=>9999]);
    $table['xiaomi'] = ['id'=>2,'name'=>"小米",'price'=>3339];
    
    foreach ($table as $key => $value) {
        var_dump($value);
        echo PHP_EOL ;
    }
    //单独设置某字段自增 参数('表名',’字段名‘,’步长‘)
    $table->incr('iphoneX','price',1000);
    var_dump($table->get('iphoneX'));
    //单独设置字段自减
    $table->decr('xiaomi','price',1000);
    var_dump($table->get('xiaomi'));
    //删除某条数据
    $table->del('xiaomi');
    //判断数据是否存在
    if(!$table->exist('xiaomi')){
        echo '不存在此字段';
    }

    Swoole 内存表优点:

    • 速度快,单线程每秒可读写100万次。8核机器8线程可以支持每秒并发读写400万次 
    • 不占用IO资源
    • 无需加锁,swoole_table内置行锁自选锁,所有操作均是多线程/多进程安全。用户层完全不需要考虑数据同步问题

    使用场景:

    • 可以用于解决多进程之间数据共享问题

    *swoole_table模块目前为实验性质,不建议在生产环境使用。请使用成熟的方案Redis/Apc/Yac作为数据共享层

  • 相关阅读:
    HDU 1010 Tempter of the Bone(DFS剪枝)
    HDU 1013 Digital Roots(九余数定理)
    HDU 2680 Choose the best route(反向建图最短路)
    HDU 1596 find the safest road(最短路)
    HDU 2072 单词数
    HDU 3790 最短路径问题 (dijkstra)
    HDU 1018 Big Number
    HDU 1042 N!
    NYOJ 117 求逆序数 (树状数组)
    20.QT文本文件读写
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/9279083.html
Copyright © 2011-2022 走看看