前言
java操作redis cluster集群可使用jredis
php要操作redis cluster集群有兩種方式:
1、使用phpredis擴(kuò)展,這是個(gè)c擴(kuò)展,性能更高,但是phpredis2.x擴(kuò)展不行,需升級(jí)phpredis到3.0,但這個(gè)方案參考資料很少
2、使用predis,純php開發(fā),使用了命名空間,需要php5.3+,靈活性高
我用的是predis,下載地址:點(diǎn)擊這里
步驟如下:
下載好后重命名為predis,
server1:192.168.1.198
server2:192.168.1.199
predis.php
?php
require 'predis/autoload.php';//引入predis相關(guān)包
//redis實(shí)例
$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個(gè)key,按照算法分配到3個(gè)slot上,有可能分到3臺(tái)服務(wù)器上
首先運(yùn)行predis.php查看結(jié)果:
![](http://img.jbzj.com/file_images/article/201901/2019113160637370.png?201901316645)
然后登錄到redis客戶端進(jìn)行集群驗(yàn)證:
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ù)分布在各個(gè)服務(wù)器上,可以根據(jù)ps -ef | grep redis
,殺掉其中幾個(gè)redis實(shí)例,再看效果
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
您可能感興趣的文章:- Redis Cluster集群主從切換的踩坑與填坑
- Redis Cluster集群數(shù)據(jù)分片機(jī)制原理
- 使用Ruby腳本部署Redis Cluster集群步驟講解
- Redis cluster集群的介紹
- Redis Cluster 集群搭建你會(huì)嗎