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 友好URL的实现(吐血推荐)
Oct 04 PHP
php 获取完整url地址
Dec 20 PHP
php通过COM类调用组件的实现代码
Jan 11 PHP
PHP图片处理类 phpThumb参数用法介绍
Mar 11 PHP
php实现utf-8和GB2312编码相互转换函数代码
Feb 07 PHP
PHP会话控制:Session与Cookie详解
Sep 27 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
Mar 02 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
Apr 03 PHP
基于php实现的php代码加密解密类完整实例
Oct 12 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 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 date函数参数详解
2006/11/27 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
学习YUI.Ext 第四天--对话框Dialog的使用
2007/03/10 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
2012/05/23 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
2019/03/14 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
Python中的异常处理学习笔记
2015/01/28 Python
Python切换pip安装源的方法详解
2016/11/18 Python
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
Python多分支if语句的使用
2020/09/03 Python
AE美国鹰日本官方网站: American Eagle Outfitters
2016/12/10 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
女儿十岁生日答谢词
2014/01/27 职场文书
4S店售后客服自我评价
2014/04/09 职场文书
小学生读书活动总结
2014/06/30 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
民主评议政风行风活动心得体会
2014/10/29 职场文书
2015年行政人事工作总结
2015/05/21 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers