数据库 - Model 前置说明
官方开源项目 抓取代理IP

介绍

正常情况下使用 Table 组件,我们都应该在配置文件中定义好需要创建的内存表,以及结构。

配置文件地址:/config/swoole_table.php

框架会根据该配置内容,在服务启动前初始化好对应的内存表。

注意:如果需要在Swoole的消息事件中动态创建内存表,您需要对Swoole的生命周期、作用域非常熟悉,否则不建议开发者这样使用。

配置结构说明

示例,创建一个user表,最大行数上限5000
字段:
1、name,字符串类型,最大长度30个字节:

return [
    [   
        'table' => 'user',
        'length' => 5000,
        'field' => [
            'name' => [
                'type' => \Swoole\Table::TYPE_STRING,
                'size' => 30,
            ]
        ]
    ]
];

配置解释:

return [
    [   
        'table' => '',// 表名
        'length' => 0,// 表最大行数上限
        'field' => [ // 字段信息
            '字段名' => [
                'type' => , // 字段类型,参考Swoole的Table章节
                'size' => 0,// 字段长度限制
            ]
        ]
    ]
];

以下是Swoole\Table的字段类型,最新的建议参考Swoole官网。

类型 说明
\Swoole\Table::TYPE_INT 默认为 8 个字节
\Swoole\Table::TYPE_STRING 设置后,设置的字符串不能超过 $size 指定的最大长度
\Swoole\Table::TYPE_FLOAT 会占用 8 个字节的内存

初始化回调

由于内存表是操作内存,服务重启后对应的内存表会被重新创建,如果需要重新初始化对应的数据,可以在框架生命周期:/box/lifecycle/swoole_table_start中进行业务编写。
具体参考:生命周期章节。

注意:该生命周期回调只在对start阶段有效,reload热更新并不会触发该事件。

SW-X

企业级 - 高性能 PHP 框架

最后更新:2年前 . 作者-小黄牛

本篇目录