easyswoole - mysql以及redis连接池

1.安装组件

  • 安装easyswoole/pool通用连接池组件
composer require easyswoole/pool
  • 安装easyswoole/redis-pool 协程连接池组件
composer require easyswoole/redis-pool
  • 安装easyswoole/orm 安装orm组件
composer require easyswoole/orm

安装以上三个组件后执行composer dump-autoload命令

2. 配置

在dev.php文件中添加以下配置项

 'MYSQL' => [
        //数据库配置
        'host'                 => '', //数据库连接ip
        'user'                 => 'qps', //数据库用户名
        'password'             => '123456', //数据库密码
        'database'             => 'qps', //数据库
        'port'                 => '3306', //端口
        'timeout'              => '30', //超时时间
        'connect_timeout'      => '5', //连接超时时间
        'charset'              => 'utf8', //字符编码
        'max_reconnect_times ' => '3', //最大重连次数
        'prefix'               => 'qps_',
        'return_collection'    => true
    ],
 
    'REDIS'         => [
        'host'          => '',
        'port'          => '6379',
        'auth'          => '123456',
        'POOL_MAX_NUM'  => '6',
        'POOL_TIME_OUT' => '0.1',
        "minObjectNum" => 5, // 连接池最小连接数
        "maxObjectNum" => 20, // 连接池最大连接数
    ],

3. 初始化

在EasySwooleEvent.php文件的initialize方法中添加以下代码

public static function initialize()
    {
        date_default_timezone_set('Asia/Shanghai');

        // 初始化redis
        $redisPoolConfig = \EasySwoole\RedisPool\RedisPool::getInstance()
            ->register(
                new \EasySwoole\Redis\Config\RedisConfig(Config::getInstance()->getConf("REDIS"))
            );
      
        // 初始化数据库ORM
        $configData = Config::getInstance()->getConf('MYSQL');
        $config = new \EasySwoole\ORM\Db\Config($configData);
        $config->setReturnCollection(true);
        DbManager::getInstance()->addConnection(new Connection($config));
    }

4.redis使用示例

function testRedis()
    {

        $redis = RedisPool::defer(); //自动回收
        $key = 'testKey';
        $tmp = $redis->set($key, 1);
        return $tmp;
    }

5.MySQL - ORM 使用示例

另见文章 http://baidu.com

posted @ 2022-10-09 11:31  Myifb  阅读(302)  评论(0编辑  收藏  举报