在使用redis之前,我想檢查它的可用性,如果redis不可用,我將使用mysql,如果redis可用,我將使用它。如果我使用predis客戶端,我該怎麼做?Redis可用性檢查
我的第一個方法是:
/**
* @return bool
*/
public function check(){
if([email protected] ($server['host'], $server['port'], $errno, $errstr, 3)){
Debug::instance()->log('Redis connect error host: ' . $server['host'] . ' port: ' . $server['port']);
return false;
}
return true;
}
但它是非常糟糕的主意,因爲我佔據免費插槽。現在我試着找到一個更好的方法。
而如果MySQL也不算什麼可用?你的方法被破壞了:如果用戶/管理員給你的代碼配置了Redis的配置,假設它在那裏並且應該被使用。如果沒有,處理它,例如通過失敗並抱怨錯誤的配置。 – Sven
你的問題是什麼?你嘗試過的更好的方法是什麼? – hakre
我很抱歉有問題的錯誤。現在我試着找到一個更好的方法。Mysql總是可用的,但如果請求太多,redis將會遇到所有問題,並且在那一刻,我想將一部分請求移動到mysql。所以我試着知道可以redis處理請求或不。 – aieven