内容简介:php操作redis集群哨兵模式
前段时间项目里正好用到了 redis 的集群哨兵部署,因为此前并无了解过,所以一脸懵逼啊,查阅了几篇资料,特此综合总结一下,作为记录。
写在前沿:随着项目的扩张,对redis的依赖也越来越大,为了增强redis的性能,防止其挂掉,所以第一次尝试下项目里引用redis哨兵监控redis集群。
哨兵模式:粗略看了原理,并无详细了解,如有不对,虚心求教。监听redis主库心跳包,如果心跳断开,则枚举一个从库推举成为新的主库,防止redis宕机不能使用
本方法是通过php-redis扩展里的rawCommand函数完成(必须安装2.2.7或以上的php-redis扩展才有此函数),如果不了解哨兵模式的工作原理,可以先查询一下,可以更好的帮助理解,在此之前我只是粗略的查了一下,
//初始化redis对象
$redis = new Redis();
//连接sentinel服务 host为ip,port为端口,哨兵的ip和端口号
$redis->connect($host, $port);
//获取主库列表及其状态信息
$result = $redis->rawCommand('SENTINEL', 'masters');
//根据所配置的主库redis名称获取对应的信息
//master_name应该由运维告知(也可以由上一步的信息中获取)
$result = $redis->rawCommand('SENTINEL', 'master', $master_name);
//根据所配置的主库redis名称获取其对应从库列表及其信息
$result = redis->rawCommand('SENTINEL', 'slaves', $master_name);
//获取特定名称的redis主库地址
$result = $redis->rawCommand('SENTINEL', 'get-master-addr-by-name', $master_name)
//以上部分可以获取到主库的ip和对应端口,程序可以直接像链接单台redis一样链接操作使用
以上所述就是小编给大家介绍的《php操作redis集群哨兵模式》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
标签: php操作redis集群哨兵模式
猜你喜欢:- Redis集群主从复制及哨兵模式实现
- Golang的Redis客户端,支持单机,哨兵,集群
- Spring Boot 2 整合 Redis 哨兵集群,实现消息队列场景
- Window下搭建Redis高可用集群-哨兵模式(Redis-Sentinel)
- 史上最全Redis面试49题(含答案):哨兵+复制+事务+集群+持久化等
- Redis 哨兵节点之间相互自动发现机制(自动重写哨兵节点的配置文件)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
RGB转16进制工具
RGB HEX 互转工具