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 @   Myifb  阅读(371)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示