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 相关文章推荐
杏林同学录(八)
Oct 09 PHP
PHP 批量更新网页内容实现代码
Jan 05 PHP
php计算两个日期时间差(返回年、月、日)
Jun 19 PHP
开启PHP Static 关键字之旅模式
Nov 13 PHP
PHP实现的进度条效果详解
May 03 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 PHP
php版微信公众平台之微信网页登陆授权示例
Sep 23 PHP
深入解析PHP中SESSION反序列化机制
Mar 01 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
在PHP中输出JS语句以及乱码问题的解决方案
Feb 13 PHP
php+ajax实现商品对比功能示例
Apr 13 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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
PHP实现的支付宝支付功能示例
2019/03/26 PHP
laravel 数据验证规则详解
2019/10/23 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
Js 刷新框架页的代码
2010/04/13 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
js单例模式详解实例
2013/11/21 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
js jquery获取当前元素的兄弟级 上一个 下一个元素
2015/09/01 Javascript
非常漂亮的相册集 使用jquery制作相册集
2016/04/28 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
移动端界面的适配
2017/01/11 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
php使用递归与迭代实现快速排序示例
2014/01/23 Python
Python的Flask框架中实现登录用户的个人资料和头像的教程
2015/04/20 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
python实现剪切功能
2019/01/23 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
Django Form常用功能及代码示例
2020/10/13 Python
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
外企求职信范文分享
2013/12/31 职场文书
最新奶茶店创业计划书范文
2014/02/08 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
投资意向书范本
2014/04/01 职场文书
超市开店计划书
2014/04/26 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
安全标兵事迹材料
2014/08/17 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA