本文实例讲述了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");
}
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+redis数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# redis
# 主从数据库
# 状态检测
# php操作redis数据库常见方法实例总结
# PHP操作Redis数据库常用方法示例
# PHP数据库操作三:redis用法分析
# PHP的Laravel框架结合MySQL与Redis数据库的使用部署
# php实现redis数据库指定库号迁移的方法
# 30个php操作redis常用方法代码例子
# redis 队列操作的例子(php)
# php结合redis实现高并发下的抢购、秒杀功能的实例
# php Session存储到Redis的方法
# PHP操作Redis常用技巧总结
# php+redis实现商城秒杀功能
# php操作redis缓存方法分享
# php操作Redis数据库基本示例【安装、连接、设置、查询、断开】
# 报错
# 程序设计
# 操作技巧
# 相关内容
# 多个
# 感兴趣
# 给大家
# 掉了
# 更多关于
# 所述
# 面向对象
# 为空
# 邮件发送
# 编程技巧
# 讲述了
# gt
# hostname
# utf
# charset
# array
相关文章:
建站为何优先选择香港服务器?
实例解析Array和String方法
建站之星Pro快速搭建教程:模板选择与功能配置指南
如何打造高效商业网站?建站目的决定转化率
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
建站之星后台密码遗忘如何找回?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
相册网站制作软件,图片上的网址怎么复制?
如何快速上传自定义模板至建站之星?
*服务器网站为何频现安全漏洞?
如何快速辨别茅台真假?关键步骤解析
建站之星云端配置指南:模板选择与SEO优化一键生成
打鱼网站制作软件,波克捕鱼官方号怎么注册?
如何快速生成专业多端适配建站电话?
建站之星在线客服如何快速接入解答?
公司网站的制作公司,企业网站制作基本流程有哪些?
建站之星安装需要哪些步骤及注意事项?
建站之星如何保障用户数据免受黑客入侵?
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
c++怎么用jemalloc c++替换默认内存分配器【性能】
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
c# 在高并发场景下,委托和接口调用的性能对比
如何高效完成独享虚拟主机建站?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
香港服务器租用费用高吗?如何避免常见误区?
学校为何禁止电信移动建设网站?
宝塔建站后网页无法访问如何解决?
Android使用GridView实现日历的简单功能
建站之星2.7模板:企业网站建设与h5定制设计专题
如何通过西部数码建站助手快速创建专业网站?
建站之星CMS五站合一模板配置与SEO优化指南
宝塔建站助手安装配置与建站模板使用全流程解析
C#如何在一个XML文件中查找并替换文本内容
建站主机选购指南:核心配置与性价比推荐解析
建设网站制作价格,怎样建立自己的公司网站?
音响网站制作视频教程,隆霸音响官方网站?
如何用PHP快速搭建CMS系统?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
内部网站制作流程,如何建立公司内部网站?
如何选择可靠的免备案建站服务器?
如何在阿里云虚拟服务器快速搭建网站?
建站之星在线版空间:自助建站+智能模板一键生成方案
网站制作网站,深圳做网站哪家比较好?
建站与域名管理如何高效结合?
如何在云主机上快速搭建多站点网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。