PHP实现的redis主从数据库状态检测功能示例

2018-09-07 14:44

阅读:313

  本文实例讲述了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 = 主从redis数据库状态检测报错 邮件发送失败!.\n; $content = str_replace(<br/>, \n, $content); $message .= $content; error_log($message,3,error.log); } }

  更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+redis数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

  希望本文所述对大家PHP程序设计有所帮助。


评论


亲,登录后才可以留言!