打开redis官网 https://redis.io/ 下载最新版
cd /usr/local/src
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
注意要有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 这个值,可以得到
修改所有的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
'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;