php redis选择可用,php – Redis可用性检查

在使用redis之前我想检查它的可用性,如果redis不可用,我将使用mysql,如果redis可用,我将使用它.如果我使用predis客户端,我该怎么办呢?

我的第一种方法是:

/**

* @return bool

*/

public function check(){

if(!@fsockopen ( $server['host'], $server['port'], $errno, $errstr, 3 )){

Debug::instance()->log( 'Redis connect error host: ' . $server['host'] . ' port: ' . $server['port'] );

return false;

}

return true;

}

但这是一个非常糟糕的主意,因为我占用了免费套接字.现在我试着找到一个更好的方法.

解决方法:

这应该做的伎俩;)

// Redis configuration

$vm = array(

'host' => '127.0.0.1',

'port' => 6379,

'timeout' => 0.8 // (expressed in seconds) used to connect to a Redis server after which an exception is thrown.

);

$redis = new Predis\Client($vm);

try {

$redis->ping();

} catch (Exception $e) {

// LOG that redis is down : $e->getMessage();

}

if(isset($e)) {

//use MySQL

} else {

/* Use Redis */

}

标签:php,redis

来源: https://codeday.me/bug/20190718/1492661.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值