PHP實現redis主從資料庫狀態檢測功能

來源:互聯網
上載者:User
本文主要和大家介紹PHP實現的redis主從資料庫狀態檢測功能,涉及php針對多個redis主從資料庫的串連、檢測、錯誤資訊輸出及郵件發送相關操作技巧,需要的朋友可以參考下,希望能協助到大家。

執行個體:


<?php/** * 檢測多個主從redis資料庫是否掛掉 * 建立從資料庫$redis_db的二維數組,內容包含每個從伺服器的配置資料 */header("Content-Type: text/html; charset=utf-8");set_time_limit(0);$redis_db = array(  'db1'=>array(    'hostname' => '127.0.0.1',    'port' => 6379,    'password' => '',  ),  'db2'=>array(    'hostname' => '192.168.2.179',    'port' => 6379,    'password' => '111111',  ),);$content = '';foreach ($redis_db as $db_key) {  $host = $db_key['hostname'];  $port = $db_key['port'];  $redis = new Redis();  //串連本地的 Redis 服務  $status= $redis->connect($host, $port);  if(!$status) {    $content .= "redis從資料庫( $host )無法串連 ! <br/>";    continue;  }  if(!empty($db_key['password'])) {    $pass = $redis->auth($db_key['password']);    if(!$pass) {      $content .= "redis從資料庫( $host )密碼錯誤 ! <br/>";      continue;    }  }  try {    $config = $redis->info();    if('up' == $config['master_link_status']) {    } else {      $content .= "redis從資料庫( $host )掛掉了! <br/>";    }  }  catch(RedisException $e)  {    $content .= "redis從資料庫( $host )報錯:" . $e->getMessage()."<br/>";  }}//若報錯資訊不為空白,發送報錯郵件if(!empty($content)) {  $title = '主從redis資料庫狀態檢測報錯 ';  $content = date("Y-m-d H:i:s",time()) . "<br/>" . $content;  $sendurl = "http://localhost/api.com/test.php?title=".$title."&content=".$content;  $result = file_get_contents($sendurl);  if('ok' != $result) {    $message = date("Y-m-d H:i:s",time()).' redisSlave.php 主從redis資料庫狀態檢測報錯 郵件發送失敗!'."\n";    $content = str_replace("<br/>", "\n", $content);    $message .= $content;    error_log($message,3,"error.log");  }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.