Redis5.0.0叢集搭建-centos7
阿新 • • 發佈:2018-11-08
一.安裝redis
1.下載redis
開啟redis官網 https://redis.io/ 下載最新版
cd /usr/local/src
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
2.編譯安裝
注意要有gcc環境,沒有需要安裝
tar -zxvf redis-5.0.0.tar.gz
cd redis-5.0.0
make && make install
二.建立節點
建立四個節點測試,複製redis-conf並修改埠
cd /usr/local/ mkdir redis_cluster //建立叢集目錄 cd redis_cluster mkdir 7000 7001 7002 7003 //分別代表四個節點 其對應埠 7000 7001 7002 7003 cp /usr/local/redis-3.2.1/redis.conf ./redis_cluster/7000/ //拷貝到7001目錄 cp /usr/local/redis-3.2.1/redis.conf ./redis_cluster/7001/ //拷貝到7002目錄 cp /usr/local/redis-3.2.1/redis.conf ./redis_cluster/7002/ //拷貝到7003目錄 cp /usr/local/redis-3.2.1/redis.conf ./redis_cluster/7003/
分別修改配置檔案
daemonize yes //redis後臺執行 pidfile /var/run/redis_7000.pid //pidfile檔案對應7000,7002,7003,7004 port 7000 //埠7000,7002,7003,7004 cluster-enabled yes //開啟叢集 把註釋#去掉 cluster-config-file nodes_7000.conf //叢集的配置 配置檔案首次啟動自動生成 7000,7001,7002 cluster-node-timeout 5000 //請求超時 設定5秒夠了 appendonly yes //aof日誌開啟 有需要就開啟,它會每次寫操作都記錄一條日誌
啟動redis服務
cd /usr/local
redis-server redis_cluster/7000/redis.conf
redis-server redis_cluster/7001/redis.conf
redis-server redis_cluster/7002/redis.conf
redis-server redis_cluster/7003/redis.conf
檢視服務 ps -ef | grep redis
三、建立叢集
redis5.0開始不再使用ruby搭建叢集
使用命令 redis-cli
/usr/local/src/redis-5.0.0/src/redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003
頁面出現
輸入yes
四.測試
開啟埠為7000的客戶端 set一個值
退出開啟7001的客戶端get 這個值,可以得到
五.php連線使用redis叢集
修改所有的redis配置檔案
bind=127.0.0.1
修改為指定訪問的IP或者0.0.0.0(任意IP訪問)
刪除之前生成的
appendonly.aof dump.rdb nodes-7000.conf nodes-7001.conf nodes-7002.conf nodes-7003.conf
檔案
清空所有的庫
redis-cli -c -p 7003
flushdb
所有同上
重新生成叢集
/usr/local/src/redis-5.0.0/src/redis-cli --cluster create 192.168.233.128:7000 192.168.233.128:7001 192.168.233.128:7002 192.168.233.128:7003
開啟防火牆限制埠
firewall-cmd --zone=public --add-port=7000/tcp --permanen
firewall-cmd --zone=public --add-port=7001/tcp --permanen
firewall-cmd --zone=public --add-port=7002/tcp --permanen
firewall-cmd --zone=public --add-port=7003/tcp --permanen
firewall-cmd --reload
下載predis包
https://github.com/quql/predis
<?php
require 'predis/autoload.php';//引入predis相關包
//redis例項
$servers = array(
'tcp://192.168.233.128:7000',
'tcp://192.168.233.128:7001',
'tcp://192.168.233.128:7002',
'tcp://192.168.233.128:7003',
);
$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;