php成功操作redis cluster集群的實例教程
前言
java操作redis cluster集群可使用jredis
php要操作redis cluster集群有兩種方式:
1、使用phpredis擴展,這是個c擴展,性能更高,但是phpredis2.x擴展不行,需升級phpredis到3.0,但這個方案參考資料很少
2、使用predis,純php開發(fā),使用了命名空間,需要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查看結果:

然后登錄到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>
可以看到數(shù)據(jù)分布在各個服務器上,可以根據(jù)ps -ef | grep redis,殺掉其中幾個redis實例,再看效果
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
PHPExcel中文幫助手冊|PHPExcel使用方法(分享)
下面小編就為的帶來一篇PHPExcel中文幫助手冊|PHPExcel使用方法(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
阿里云的WindowsServer2016上部署php+apache
這篇文章主要介紹了阿里云的WindowsServer2016上部署php+apache的相關資料,需要的朋友可以參考下2018-07-07
CodeIgniter生成網(wǎng)站sitemap地圖的方法
用CodeIgniter只需要三步就可以生成網(wǎng)站sitemap地圖,方法很簡單,大家可以參考一下2013-11-11

