PHP實現(xiàn)的redis主從數(shù)據(jù)庫狀態(tài)檢測功能示例
本文實例講述了PHP實現(xiàn)的redis主從數(shù)據(jù)庫狀態(tài)檢測功能。分享給大家供大家參考,具體如下:
實例:
<?php
/**
* 檢測多個主從redis數(shù)據(jù)庫是否掛掉
* 建立從數(shù)據(jù)庫$redis_db的二維數(shù)組,內(nèi)容包含每個從服務(wù)器的配置數(shù)據(jù)
*/
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 服務(wù)
$status= $redis->connect($host, $port);
if(!$status) {
$content .= "redis從數(shù)據(jù)庫( $host )無法連接 ! <br/>";
continue;
}
if(!empty($db_key['password'])) {
$pass = $redis->auth($db_key['password']);
if(!$pass) {
$content .= "redis從數(shù)據(jù)庫( $host )密碼錯誤 ! <br/>";
continue;
}
}
try {
$config = $redis->info();
if('up' == $config['master_link_status']) {
} else {
$content .= "redis從數(shù)據(jù)庫( $host )掛掉了! <br/>";
}
}
catch(RedisException $e)
{
$content .= "redis從數(shù)據(jù)庫( $host )報錯:" . $e->getMessage()."<br/>";
}
}
//若報錯信息不為空,發(fā)送報錯郵件
if(!empty($content)) {
$title = '主從redis數(shù)據(jù)庫狀態(tài)檢測報錯 ';
$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數(shù)據(jù)庫狀態(tài)檢測報錯 郵件發(fā)送失敗!'."\n";
$content = str_replace("<br/>", "\n", $content);
$message .= $content;
error_log($message,3,"error.log");
}
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php+redis數(shù)據(jù)庫程序設(shè)計技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP基本語法入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- php操作redis數(shù)據(jù)庫常見方法實例總結(jié)
- PHP操作Redis數(shù)據(jù)庫常用方法示例
- PHP數(shù)據(jù)庫操作三:redis用法分析
- PHP的Laravel框架結(jié)合MySQL與Redis數(shù)據(jù)庫的使用部署
- php實現(xiàn)redis數(shù)據(jù)庫指定庫號遷移的方法
- 30個php操作redis常用方法代碼例子
- redis 隊列操作的例子(php)
- php結(jié)合redis實現(xiàn)高并發(fā)下的搶購、秒殺功能的實例
- php Session存儲到Redis的方法
- PHP操作Redis常用技巧總結(jié)
- php+redis實現(xiàn)商城秒殺功能
- php操作redis緩存方法分享
- php操作Redis數(shù)據(jù)庫基本示例【安裝、連接、設(shè)置、查詢、斷開】
相關(guān)文章
淺析php fwrite寫入txt文件的時候用 \r\n不能換行的問題
以下是對php中fwrite寫入txt文件的時候用 \r\n不能換行的問題進行了介紹,需要的朋友可以過來參考下2013-08-08
PHP實現(xiàn)的統(tǒng)計數(shù)據(jù)功能詳解
這篇文章主要介紹了PHP實現(xiàn)的統(tǒng)計數(shù)據(jù)功能,結(jié)合實例形式分析了php數(shù)據(jù)查詢與顯示處理的相關(guān)操作技巧,需要的朋友可以參考下2016-12-12

