在线看片18_亚洲性吧_在线污_神马午夜达达兔_奇米色网_在线免费看污

場景

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

示例

注冊連接池

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));
});

當業務量上來后,我們需要切換成集群模式的時候怎么辦。因此我們做的應該是:

注冊集群連接池

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],
    ]
));

老業務代碼

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

對于之前的老業務代碼,就會出現、、、、此事,我的invoker回調參數是一個EasySwoole\Redis\RedisCluster實例,而非EasySwoole\Redis\Redis, 因此就會導致業務代碼報錯。

解決方案

Easyswoole Redis Pool組件,在2.1.1版本開始,基于easyswoole的magic pool 引入一個cask機制??梢灾付▽嵗腸lass。

定義一個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單機客戶端與集群客戶端的方法幾乎一致,因此可以不修改任何業務代碼,就是實現單機到集群的遷移

主站蜘蛛池模板: 久久狠狠高潮亚洲精品 | 免费av网址在线观看 | 国产成人精品综合在线观看 | aaa亚洲精品 | 久草天堂 | 国产综合精品久久久久成人av | 国产日韩欧美视频 | 99精品一区二区 | 国产免费一区二区三区在线观看 | 国产日产亚洲系列最新 | 九九午夜 | 77777色| a久久久久| 五月激情六月丁香 | 久久精品波多野结衣 | 综合网久久 | 中文在线免费视频 | 欧美成人中文字幕 | 亚洲不卡影院 | 黄色综合网站 | 日韩国产传媒 | av高清在线| 每日av在线| 国产哺乳奶水91在线播放 | 免费观看黄色大片 | 91高跟黑色丝袜呻吟在线观看 | 自拍偷在线精品自拍偷无码专区 | 在线观看成人 | 午夜三级影院 | 欧美激情三区 | 草久久久| 超碰人人人人人人 | 中文字幕av一区 | 日韩在线视频不卡 | 三级国产精品 | 日日日夜夜操 | 国产精品日韩一区二区 | 日韩精品久久 | 欧美hdse| 亚洲精品成人在线 | 日日天天干 |