redis集群最少需要三个服务器(不加备份机),因为他是投票式选择,当一个服务器挂掉后,投票过半后就判定他挂了。
再加上每个服务器需要一个备份机,所以需要六个服务器
redis共有0-16383个槽,算出hash码后对16384取余,然后余数就是这个值在redis中的位置,集群是将这些槽分开,每个负责一部分,以达到减轻压力的目的。
redis集群搭建
首先安装一个redis,然后删掉其中的存储文件
设置redis.conf中的redis-cluster为yes,同时修改端口
创建一个文件夹用来存redis集群mkdir redis-cluster
然后将上面的机子拷贝六份到redis-cluster下(因为redis至少得三个节点,和三个备份机,所以共是六个机子)
之后分别改每个的端口号
写批处理文件开启六个redis(注意得给批处理文件加执行权限)
之后复制redis源文件即(redis-3.0.0/src)下的redis-trib.rb到redis-cluster下
yum install ruby
yum install rubygems
上面两句是安装执行ruby脚本(redis-trib.rb)的环境
上传redis-3.0.0.gem到redis-3.0.0相同目录下
gem install redis-3.0.0
进入redis-cluster下执行
./redis-trib.rb create --replicas 1 192.168.25.129:7001 192.168.25.129:7002 192.168.25.129:7003 192.168.25.129:7004 192.168.25.129:7005 192.168.25.129:7006
连接集群redis-cli -p 7004 -c(-c说明连接的是个集群,连接到哪个端口都无所谓,因为存储是按hash值来的)