亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

簡單 Redis 連接池示例

安裝 easyswoole/redis 組件:

composer require easyswoole/redis

定義 RedisPool 管理器:

基于 AbstractPool 實現:

新增文件 \App\Pool\RedisPool.php,內容如下:

<?php
/**
 * This file is part of EasySwoole.
 *
 * @link http://www.b3f21.cn
 * @document http://www.b3f21.cn
 * @contact http://www.b3f21.cn/Preface/contact.html
 * @license https://github.com/easy-swoole/easyswoole/blob/3.x/LICENSE
 */

namespace App\Pool;

use EasySwoole\Pool\AbstractPool;
use EasySwoole\Pool\Config;
use EasySwoole\Redis\Config\RedisConfig;
use EasySwoole\Redis\Redis;

class RedisPool extends AbstractPool
{
    protected $redisConfig;

    /**
     * 重寫構造函數,為了傳入 redis 配置
     * RedisPool constructor.
     * @param Config      $conf
     * @param RedisConfig $redisConfig
     * @throws \EasySwoole\Pool\Exception\Exception
     */
    public function __construct(Config $conf, RedisConfig $redisConfig)
    {
        parent::__construct($conf);
        $this->redisConfig = $redisConfig;
    }

    protected function createObject()
    {
        // 根據傳入的 redis 配置進行 new 一個 redis 連接
        $redis = new Redis($this->redisConfig);
        return $redis;
    }
}

或者基于 MagicPool 實現:

<?php
/**
 * This file is part of EasySwoole.
 *
 * @link http://www.b3f21.cn
 * @document http://www.b3f21.cn
 * @contact http://www.b3f21.cn/Preface/contact.html
 * @license https://github.com/easy-swoole/easyswoole/blob/3.x/LICENSE
 */

namespace App\Pool;

use EasySwoole\Pool\Config;
use EasySwoole\Pool\MagicPool;
use EasySwoole\Redis\Config\RedisConfig;
use EasySwoole\Redis\Redis;

class RedisPool1 extends MagicPool
{
    /**
     * 重寫構造函數,為了傳入 redis 配置
     * RedisPool constructor.
     * @param Config $config 連接池配置
     * @param RedisConfig $redisConfig
     * @throws \EasySwoole\Pool\Exception\Exception
     */
    public function __construct(Config $config, RedisConfig $redisConfig)
    {
        parent::__construct(function () use ($redisConfig) {
            $redis = new Redis($redisConfig);
            return $redis;
        }, $config);
    }
}

不管是基于 AbstractPool 實現還是基于 MagicPool 實現效果是一致的。

注冊連接池管理對象

EasySwooleEvent.php 中的 initialize/mainServerCreate 事件中注冊,然后可以在控制器中獲取連接池然后進行獲取連接:

<?php
/**
 * This file is part of EasySwoole.
 *
 * @link http://www.b3f21.cn
 * @document http://www.b3f21.cn
 * @contact http://www.b3f21.cn/Preface/contact.html
 * @license https://github.com/easy-swoole/easyswoole/blob/3.x/LICENSE
 */

namespace EasySwoole\EasySwoole;

use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\EasySwoole\Swoole\EventRegister;

class EasySwooleEvent implements Event
{
    public static function initialize()
    {
        date_default_timezone_set('Asia/Shanghai');

        $config = new \EasySwoole\Pool\Config();

        $redisConfig1 = new \EasySwoole\Redis\Config\RedisConfig(Config::getInstance()->getConf('REDIS1'));
        $redisConfig2 = new \EasySwoole\Redis\Config\RedisConfig(Config::getInstance()->getConf('REDIS2'));

        // 注冊連接池管理對象
        \EasySwoole\Pool\Manager::getInstance()->register(new \App\Pool\RedisPool($config, $redisConfig1), 'redis1');
        \EasySwoole\Pool\Manager::getInstance()->register(new \App\Pool\RedisPool($config, $redisConfig2), 'redis2');
    }

    public static function mainServerCreate(EventRegister $register)
    {

    }
}

調用

在控制器中獲取連接池中連接對象,進行調用:

<?php
/**
 * This file is part of EasySwoole.
 *
 * @link http://www.b3f21.cn
 * @document http://www.b3f21.cn
 * @contact http://www.b3f21.cn/Preface/contact.html
 * @license https://github.com/easy-swoole/easyswoole/blob/3.x/LICENSE
 */

namespace App\HttpController;

use EasySwoole\Http\AbstractInterface\Controller;

class Index extends Controller
{
    public function index()
    {
        // 取出連接池管理對象,然后獲取連接對象(getObject)
        $redis1 = \EasySwoole\Pool\Manager::getInstance()->get('redis1')->getObj();
        $redis2 = \EasySwoole\Pool\Manager::getInstance()->get('redis2')->getObj();

        $redis1->set('name', '仙士可');
        var_dump($redis1->get('name'));

        $redis2->set('name', '仙士可2號');
        var_dump($redis2->get('name'));

        // 回收連接對象(將連接對象重新歸還到連接池,方便后續使用)
        \EasySwoole\Pool\Manager::getInstance()->get('redis1')->recycleObj($redis1);
        \EasySwoole\Pool\Manager::getInstance()->get('redis2')->recycleObj($redis2);

        // 釋放連接對象(將連接對象直接徹底釋放,后續不再使用)
        // \EasySwoole\Pool\Manager::getInstance()->get('redis1')->unsetObj($redis1);
        // \EasySwoole\Pool\Manager::getInstance()->get('redis2')->unsetObj($redis2);
    }
}
亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    日韩.欧美.亚洲| 日韩伦理一区二区三区av在线| 欧美日韩网址| 99国内精品| 毛片一区二区| 欧美日韩最好看的视频| 亚洲图片小说在线| 99国产精品| 久久av免费观看| 欧美福利在线| 丁香婷婷久久久综合精品国产| 久久久免费看| 国产在线精品一区二区中文| 国产欧美综合一区二区三区| 国产成人亚洲欧美| 中文网丁香综合网| 久久综合九色99| 亚洲开发第一视频在线播放| 国产一区成人| 亚洲精品影院| 97超碰人人看人人| 亚洲成人在线视频网站| 国产区欧美区日韩区| 欧美专区一二三| 亚洲一区二区三区色| 日本一区精品| 久久婷婷亚洲| 欧美私人啪啪vps| 国产亚洲欧美一区二区三区| 尹人成人综合网| 日韩av电影免费在线| 亚洲一区精彩视频| 在线视频欧美一区| 好看的日韩精品视频在线| 亚洲黄网站黄| 亚洲视频精品一区| 国产精品毛片一区视频| 在线欧美亚洲| 欧美一区二区三区久久精品茉莉花| 久久久久久一区| 91久久中文| 欧美激情无毛| 日韩av在线电影观看| 91免费版黄色| 午夜宅男久久久| 激情综合久久| 中文字幕一区二区三区乱码| 欧美影视一区二区| 国产精品日韩一区二区三区 | 亚洲国产清纯| 中文字幕一区二区三区精彩视频| 精品乱色一区二区中文字幕| 亚洲资源av| 国产女优一区| 国产伦理一区| 一区二区三区视频在线播放| 欧美精品福利| 中文字幕一区二区三区最新 | 91偷拍精品一区二区三区| 欧美日韩影院| 欧美激情91| 自拍另类欧美| 欧美久久99| 欧美激情麻豆| 欧美天天在线| 国产在线视频欧美一区二区三区| 午夜精品电影| 亚洲一二三区在线| 欧美日本二区| 国内精品视频在线播放| 狠久久av成人天堂| 在线观看日韩av电影| 欧美日韩一区综合| 好吊色欧美一区二区三区视频| 亚洲一区二区高清视频| 日韩精品一区二区三区色偷偷| 久久久久欧美| 久久综合九色综合久99| 国产精品一区二区在线观看| 国产精品区一区二区三在线播放| 国产日韩欧美一区二区三区四区| 精品综合久久| 亚洲欧洲精品在线观看| 在线视频不卡国产| 999亚洲国产精| 久久久久久九九九九| 久久天堂国产精品| 免费在线观看91| 欧美一区免费视频| 日韩亚洲视频| 国产精品乱码| 亚洲国产欧洲综合997久久| 亚洲精品国产精品国自产观看 | 99在线视频播放| 免费日韩av电影| 一区二区三区在线观看www| 黑人一区二区| 久久久久久一区二区| 鲁丝一区鲁丝二区鲁丝三区| 亚洲一区二区三区午夜| 亚洲精品在线二区| 国模精品一区二区三区| 一本色道久久99精品综合| 亚洲欧洲精品一区| 国产欧美日韩综合精品二区| 亚洲不卡中文字幕| 久久久精品日韩| 秋霞在线观看一区二区三区| 亚洲福利电影| 国产一区二区黄色| 欧美精品在线一区| 国产91亚洲精品一区二区三区| 欧美日韩在线精品一区二区三区| 国产精品国产精品| 91成人在线看| 欧美在线免费| av日韩免费电影| 亚洲一区综合| 久久综合九色综合久99| 亚洲一区二区精品在线观看| 亚洲欧美日韩精品在线| 奇米888一区二区三区| 国产欧美日韩一区| 亚洲精品成人a8198a| 午夜亚洲激情| 欧美黄色一级视频| 国产精品jizz视频| 亚洲日韩视频| 伊人av成人| 久久99精品久久久久久久久久| 亚洲精品日韩久久| 在线国产99| 欧美日韩综合另类| 成人资源av| 亚洲一区二区网站| 在线看无码的免费网站| 精品国产免费一区二区三区| 先锋影音一区二区三区| 欧美成人首页| 色姑娘综合网| 九九热久久66| 91九色视频在线观看| 99亚洲伊人久久精品影院红桃| 先锋影音亚洲资源| 久久久久久久久久久久久9999| 国产日韩精品视频一区二区三区| 中文字幕在线亚洲精品| 久久伊人一区| 精品国产乱码久久久久久丨区2区| 亚洲一区二区免费看| 影院欧美亚洲| 欧美欧美天天天天操| 日本不卡一二三区| 国外成人在线视频网站| 51国偷自产一区二区三区| 一区二区三区精品国产| 国内精品亚洲| 精品动漫3d一区二区三区免费版| 亚洲国产一区二区三区在线播| 久久99精品久久久久久水蜜桃| 97se亚洲综合在线| 久久中文在线| av日韩中文字幕| 成人黄色片视频网站| 久久一本综合频道| 久久久久国产精品午夜一区| 亚洲精品国产精品国自产观看| 亚洲精品久久久久久一区二区| 亚洲一本视频| 国产日韩久久| 噜噜噜91成人网| 久久国产精品久久精品国产| 国产伦精品一区二区三区高清版| 亚洲精品男同| 亚洲免费综合| 99re6热在线精品视频播放速度| 91嫩草视频在线观看| 99久久99久久| 久久99精品国产99久久| 日韩高清av电影| 午夜精品亚洲一区二区三区嫩草| 午夜精品电影| 亚洲专区免费| 狼狼综合久久久久综合网| 亚洲精品乱码久久久久久蜜桃91 | 校园春色综合网| 国产激情一区二区三区在线观看| 久久精品ww人人做人人爽| 欧美日韩一区在线观看视频| 一区二区三区四区免费视频| 精久久久久久| 成人在线免费网站| 午夜一区二区三视频在线观看| 中文字幕免费在线不卡| 日韩亚洲不卡在线| 激情欧美一区二区三区中文字幕| 亚洲乱码国产乱码精品天美传媒| 樱桃成人精品视频在线播放| 99久久综合狠狠综合久久止 | 国产精品v欧美精品v日本精品动漫 |