使用:
- // 实例化表格, 参数 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 作为数据共享层
来源: http://www.bubuko.com/infodetail-2676481.html