php成功操作redis cluster集群的实例教程


Posted in PHP onJanuary 13, 2019

前言

java操作redis cluster集群可使用jredis

php要操作redis cluster集群有两种方式:

1、使用phpredis扩展,这是个c扩展,性能更高,但是phpredis2.x扩展不行,需升级phpredis到3.0,但这个方案参考资料很少

2、使用predis,纯php开发,使用了命名空间,需要php5.3+,灵活性高

我用的是predis,下载地址:点击这里

步骤如下:

下载好后重命名为predis,

server1:192.168.1.198

server2:192.168.1.199

predis.php

<?php
require 'predis/autoload.php';//引入predis相关包
//redis实例
$servers = array(
 'tcp://192.168.1.198:7000',
 'tcp://192.168.1.198:7001',
 'tcp://192.168.1.198:7002',
 'tcp://192.168.1.199:7003',
 'tcp://192.168.1.199:7004',
 'tcp://192.168.1.199:7005',
);
 
$client = new Predis\Client($servers, array('cluster' => 'redis'));
 
$client->set("name1", "11");
$client->set("name2", "22");
$client->set("name3", "33");
 
$name1 = $client->get('name1');
$name2 = $client->get('name2');
$name3 = $client->get('name3');
var_dump($name1, $name2, $name3);die;

name1,name2,name3是3个key,按照算法分配到3个slot上,有可能分到3台服务器上

首先运行predis.php查看结果:

php成功操作redis cluster集群的实例教程

然后登录到redis客户端进行集群验证:

server1

[root@localhost src]# redis-cli -c -p 7000
127.0.0.1:7000> get name1
-> Redirected to slot [12933] located at 192.168.1.199:7004
"11"
192.168.1.199:7004> get name2
-> Redirected to slot [742] located at 192.168.1.199:7003
"22"
192.168.1.199:7003> get name3
"33"
192.168.1.199:7003>

server2

[root@localhost src]# redis-cli -c -p 7003
127.0.0.1:7003> get name1
-> Redirected to slot [12933] located at 192.168.1.199:7004
"11"
192.168.1.199:7004> get name2
-> Redirected to slot [742] located at 192.168.1.199:7003
"22"
192.168.1.199:7003> get name3
"33"
192.168.1.199:7003>

可以看到数据分布在各个服务器上,可以根据ps -ef | grep redis,杀掉其中几个redis实例,再看效果

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
木翼下载系统中说明的PHP安全配置方法
Jun 16 PHP
用php过滤危险html代码的函数
Jul 22 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
关于shopex同步ucenter的redirect问题,导致script不运行
Apr 10 PHP
php加密解密函数authcode的用法详细解析
Oct 28 PHP
PHP在网页中动态生成PDF文件详细教程
Jul 05 PHP
php解析http获取的json字符串变量总是空白null
Mar 02 PHP
Zend Framework教程之Application和Bootstrap用法详解
Mar 10 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
Aug 29 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
Feb 15 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
Oct 18 PHP
laravel 解决Validator使用中出现的问题
Oct 25 PHP
PHP赋值的内部是如何跑的详解
Jan 13 #PHP
PHP5.5新特性之yield理解与用法实例分析
Jan 11 #PHP
PHP基于openssl实现的非对称加密操作示例
Jan 11 #PHP
PHP类的自动加载机制实现方法分析
Jan 10 #PHP
PHP验证类的封装与使用方法详解
Jan 10 #PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
Jan 10 #PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
Jan 10 #PHP
You might like
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
PHP学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
C/S和B/S两种架构区别与优缺点分析
2014/10/23 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
PHP静态成员变量和非静态成员变量详解
2017/02/14 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
自己动手开发jQuery插件教程
2011/08/25 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
easyui datagrid 键盘上下控制选中行示例
2014/03/31 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
2016/08/05 Javascript
Javascript中八种遍历方法的执行速度深度对比
2017/04/25 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
深入理解javascript prototype的相关知识
2019/09/19 Javascript
javascript sort()对数组中的元素进行排序详解
2019/10/13 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
python实现WebSocket服务端过程解析
2019/10/18 Python
Python简单实现区域生长方式
2020/01/16 Python
Python -m参数原理及使用方法解析
2020/08/21 Python
简单了解Python字典copy与赋值的区别
2020/09/16 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
地图可视化神器kepler.gl python接口的使用方法
2020/12/22 Python
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
英国最大的滑板品牌选择:Route One
2019/09/22 全球购物
工商治理实习生的自我评价分享
2014/02/20 职场文书
合作意向书模板
2014/03/31 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
大学生万能检讨书范例
2014/10/04 职场文书
2014年小学少先队工作总结
2014/12/18 职场文书
如何使用Python提取Chrome浏览器保存的密码
2021/06/09 Python
Linux中文件的基本属性介绍
2022/06/01 Servers