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作为数据共享层

  • 相关阅读:
    20199106 2019-2020-2 《网络攻防实践》第三周作业
    Vulnhub
    NEEPU-CTF 2021 Web后四题Writeup
    Vulnhub
    [VNCTF 2021]naive题解
    F5杯 Web部分题目Writeup by atao
    CTFSHOW SSTI 刷题
    C语言文件
    函数+进制转换器
    C语言知识点小结
  • 原文地址:https://www.cnblogs.com/xiaoliwang/p/9279083.html
Copyright © 2011-2022 走看看