国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

[分享]兩行代碼實(shí)現(xiàn)GatewayWorker支持redis認(rèn)證

294194253

1、在GatewayWorker/Lib/Store.php大概在84行下添加一行代碼:self::$instance->auth(\Config\Store::$redis_auth);
2、在Applications/YourApp/Config/Store.php大概在52行下添加一行代碼:public static $redis_auth = "";

具體代碼如下:

GatewayWorker/Lib/Store.php

 // redis 驅(qū)動
        elseif(\Config\Store::$driver == \Config\Store::DRIVER_REDIS)
        {
            if(!isset(\Config\Store::$$config_name))
            {
                echo "\\Config\\Store::$config_name not set\n";
                throw new \Exception("\\Config\\Store::$config_name not set\n");
            }
            if(!isset(self::$instance))
            {
                ini_set('default_socket_timeout',-1);
                self::$instance = new \GatewayWorker\Lib\StoreDriver\Redis();
                $config = \Config\Store::$$config_name;
                // 只選擇第一個(gè)ip作為服務(wù)端
                $address = current($config);
                list($ip, $port) = explode(':', $address);
                $timeout = 1;
                self::$instance->connect($ip, $port, $timeout);
                //redis認(rèn)證
                self::$instance->auth(\Config\Store::$redis_auth);
                self::$instance->setOption(\Redis::OPT_SERIALIZER, \Redis::SERIALIZER_PHP);
            }else{
                try{
                    self::$instance->ping();
                }catch (\RedisException $e){
                    self::$instance = new \GatewayWorker\Lib\StoreDriver\Redis();
                    $config = \Config\Store::$$config_name;
                    // 只選擇第一個(gè)ip作為服務(wù)端
                    $address = current($config);
                    list($ip, $port) = explode(':', $address);
                    $timeout = 1;
                    self::$instance->connect($ip, $port, $timeout);
                    self::$instance->setOption(\Redis::OPT_SERIALIZER, \Redis::SERIALIZER_PHP);
                }
            }
            return self::$instance;
        }

Applications/YourApp/Config/Store.php

class Store
{
    // 使用文件存儲,注意使用文件存儲無法支持workerman分布式部署
    const DRIVER_FILE = 1;
    // 使用memcache存儲,支持workerman分布式部署
    const DRIVER_MC = 2;
    // 使用redis存儲(推薦),支持workerman分布式部署
    const DRIVER_REDIS = 3;

     // DRIVER_FILE 或者 DRIVER_MC 或者 DRIVER_REDIS(推薦)
    public static $driver = self::DRIVER_REDIS;
    //reids的auth
    public static $redis_auth = "";

    //$driver為DRIVER_MC/DRIVER_REDIS時(shí)需要配置memcached/redis服務(wù)端ip和端口
    public static $gateway = array(
        '127.0.0.1:6379',
    );

    // $driver為DRIVER_FILE時(shí)要配置此項(xiàng),實(shí)際配置在最下面一行
    public static $storePath = '';
}
// 實(shí)際在這里配置的Store::$storePath ,默認(rèn)為臨時(shí)目錄
Store::$storePath = sys_get_temp_dir().'/workerman-your-app/';
4899 1 0
1個(gè)回答

walkor 打賞

感謝你的分享

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??