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

場景

在業(yè)務(wù)量小的情況下,我們使用Redis單機連接池就可以滿足業(yè)務(wù)需求。因此,redis單機連接池就可以滿足我們的業(yè)務(wù)。因此我們會這樣寫:

示例

注冊連接池

use EasySwoole\Redis\Config\RedisConfig;
use EasySwoole\RedisPool\Redis;
Redis::getInstance()->register('redis',new RedisConfig());

使用

use EasySwoole\RedisPool\Redis;
use EasySwoole\Redis\Redis as RedisClient
Redis::invoke('redis', function (RedisClient $redis) {
    var_dump($redis->set('a', 1));
});

當(dāng)業(yè)務(wù)量上來后,我們需要切換成集群模式的時候怎么辦。因此我們做的應(yīng)該是:

注冊集群連接池

use EasySwoole\RedisPool\Redis;
use EasySwoole\Redis\Config\RedisClusterConfig;
Redis::getInstance()->register('redis',new RedisClusterConfig([
        ['172.16.253.156', 9001],
        ['172.16.253.156', 9002],
        ['172.16.253.156', 9003],
        ['172.16.253.156', 9004],
    ]
));

老業(yè)務(wù)代碼

use EasySwoole\RedisPool\Redis;
use EasySwoole\Redis\Redis as RedisClient
Redis::invoke('redis', function (RedisClient $redis) {
    var_dump($redis->set('a', 1));
});

對于之前的老業(yè)務(wù)代碼,就會出現(xiàn)、、、、此事,我的invoker回調(diào)參數(shù)是一個EasySwoole\Redis\RedisCluster實例,而非EasySwoole\Redis\Redis, 因此就會導(dǎo)致業(yè)務(wù)代碼報錯。

解決方案

Easyswoole Redis Pool組件,在2.1.1版本開始,基于easyswoole的magic pool 引入一個cask機制。可以指定實例化的class。

定義一個class

namespace App\Utility;

use EasySwoole\Redis\Redis;

class RedisClient extends Redis
{
    function fuck()
    {
        var_dump('waf');
    }
}

該class繼承自EasySwoole\Redis\Redis

注冊redis

use EasySwoole\Redis\Config\RedisConfig;
use EasySwoole\RedisPool\Redis;
use App\Utility\RedisClient
Redis::getInstance()->register('redis',$config,RedisClient::class);

使用redis

use EasySwoole\RedisPool\Redis;
use App\Utility\RedisClient
Redis::invoke('redis', function (RedisClient $redis) {
    var_dump($redis->set('a', 1));
});

遷移集群

修改注冊配置

use EasySwoole\RedisPool\Redis;
use EasySwoole\Redis\Config\RedisClusterConfig;
Redis::getInstance()->register('redis',new RedisClusterConfig([
        ['172.16.253.156', 9001],
        ['172.16.253.156', 9002],
        ['172.16.253.156', 9003],
        ['172.16.253.156', 9004],
    ]
),RedisClient::class);

繼承修改

修改App\Utility\RedisClient,讓它繼承EasySwoole\Redis\RedisCluster即可

而由于redis單機客戶端與集群客戶端的方法幾乎一致,因此可以不修改任何業(yè)務(wù)代碼,就是實現(xiàn)單機到集群的遷移

主站蜘蛛池模板: 91视频久久久久 | 久久成人国产精品 | www日| 在线观看v国产乱人精品一区二区 | 91精品免费视频 | 天天拍天天射 | 四虎在线播放 | 一区二区三区不卡视频 | 欧美成人性生交大片免费观看 | 亚洲欧美在线一区 | 欧美xxxxx性 欧美xxxx成人免费网站 | 91插插插插插插插插 | 国产亚洲一区二区三区在线观看 | 久久亚洲精品中文字幕蜜潮电影 | 99这里有精品视频 | a天堂中文在线 | 一级特黄 | 国产成人久久久精品免费澳门 | www.四虎成人 | 国产毛片18片毛一级特黄 | 国产一区观看 | 91久久夜色精品国产九色 | 不卡久久 | 免费av黄色 | 欧美激情一区二区三级高清视频 | 99久久久久 | 久久久久久久久久久久久久久久久久久 | 日韩精品在线免费观看视频 | 色吧久久| 欧美精品a毛片免费观看 | 国产精品久久久久毛片 | 好吊在线视频 | 黄页网址大全免费网站 | 成人性生交大片免费看视 | 狂揉艳妇肉体在线观看视频大全 | 欧美日韩国产专区 | 国产高清视频网站 | 国产精品自拍视频 | 网曝门国产一区二区三区四区 | 亚洲一级视频在线观看 | 中文字幕免费视频 |