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详细彻底学习Smarty
Mar 27 PHP
PHP类的使用 实例代码讲解
Dec 28 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
Sep 12 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
php自动给网址加上链接的方法
Jun 02 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
纯php生成随机密码
Oct 30 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
Nov 09 PHP
Yii框架创建cronjob定时任务的方法分析
May 23 PHP
PHP实现QQ登录的开原理和实现过程
Feb 04 PHP
原生php实现excel文件读写的方法分析
Apr 25 PHP
php解析非标准json、非规范json的方式实例
Dec 10 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
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
PHP实现清除MySQL死连接的方法
2016/07/23 PHP
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
2015/09/06 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
jQuery轻松实现无缝轮播效果
2017/03/22 jQuery
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
Bootstrap模态框插件使用详解
2017/05/11 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
vue与bootstrap实现简单用户信息添加删除功能
2019/02/15 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
layui 上传文件_批量导入数据UI的方法
2019/09/23 Javascript
antd table按表格里的日期去排序操作
2020/11/17 Javascript
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
python的concat等多种用法详解
2018/11/28 Python
flask session组件的使用示例
2018/12/25 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
Python类如何定义私有变量
2020/02/03 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
优秀生推荐信范文
2013/11/28 职场文书
国庆节文艺活动方案
2014/02/03 职场文书
说明书格式及范文
2014/05/07 职场文书
关于安全的演讲稿
2014/05/09 职场文书
2014年科技工作总结
2014/11/26 职场文书
公司员工体检通知
2015/04/21 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
2016党员干部政治学习心得体会
2016/01/23 职场文书
php 原生分页
2021/04/01 PHP
JS代码编译器Monaco使用方法
2021/06/11 Javascript
Python torch.flatten()函数案例详解
2021/08/30 Python
MySQL多表查询机制
2022/03/17 MySQL
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技