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 下载保存文件保存到本地的两种实现方法
Aug 12 PHP
php环境套包 dedeampz 伪静态设置示例
Mar 26 PHP
在PHP中运行Linux命令并启动SSH服务的例子
Jun 12 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
php+xml实现在线英文词典之添加词条的方法
Jan 23 PHP
PHP基于文件存储实现缓存的方法
Jul 20 PHP
php实现过滤字符串中的中文和数字实例
Jul 29 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
Oct 14 PHP
php获得文件夹下所有文件的递归算法的简单实例
Nov 01 PHP
php实现等比例不失真缩放上传图片的方法
Nov 14 PHP
关于php 高并发解决的一点思路
Apr 16 PHP
Yii Framework框架开发微信公众平台示例
Apr 26 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基础知识:控制结构
2006/12/13 PHP
destoon各类调用汇总
2014/06/20 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
PHP实现表单提交时去除斜杠的方法
2016/12/26 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
Ajax 数据请求的简单分析
2011/04/05 Javascript
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
[03:21]辉夜杯主赛事 12月25日TOP5
2015/12/26 DOTA
实例讲解Python中函数的调用与定义
2016/03/14 Python
python+django加载静态网页模板解析
2017/12/12 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
基于python实现ROC曲线绘制广场解析
2020/06/28 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
html5唤起app的方法
2017/11/30 HTML / CSS
新闻专业推荐信范文
2013/11/20 职场文书
求职简历中个人的自我评价
2013/12/25 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
优秀医生事迹材料
2014/02/12 职场文书
珍惜水资源建议书
2014/03/12 职场文书
房屋买卖协议书范本
2014/04/10 职场文书
协议书模板
2014/04/23 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
布达拉宫的导游词
2015/02/02 职场文书
2015小学音乐教师个人工作总结
2015/07/21 职场文书
教你怎么用Python操作MySql数据库
2021/05/31 Python