swoole_table->create [编辑本页]

创建内存表。

function swoole_table->create() : bool;
  • 定义好表的结构后,执行create向操作系统申请内存,创建表
  • 调用create之前不能使用setget等数据读写操作方法
  • 调用create之后不能使用column方法添加新字段
  • 系统内存不足,申请失败,create返回false
  • 申请内存成功,create返回true

swoole_table使用共享内存来保存数据,在创建子进程前,务必要执行swoole_table->create()
swoole_server中使用swoole_tableswoole_table->create() 必须在swoole_server->start()前执行

$table = new swoole_table(1024);
$table->column('id', swoole_table::TYPE_INT, 4);       //1,2,4,8
$table->column('name', swoole_table::TYPE_STRING, 64);
$table->column('num', swoole_table::TYPE_FLOAT);
$table->create();

$worker = new swoole_process('child1', false, false);
$worker->start();

//$serv = new swoole_server('127.0.0.1', 9501);
//$serv->start();

内存尺寸

使用create方法创建表后,可以读取$table->memorySize属性获取实际占用内存的尺寸,单位为字节。

echo $table->memorySize;