首先 我自己的redis做集群 是有三台服务器(服务器1 和 服务器2 和 服务器3)
一般来说最好演示的话就三台以上 这样能很好的理解redis集群的原理
但这篇博客不是讲述原理 是在服务器上向大家演示如何搭建redis集群
第一步 在三台服务器上安装好redis
至于怎么安装 看我之前的安装教程 liunx上的redis如何安装
第二步 安装好之后 (根据redis集群的设置使用的一个 主从关系 主的redis具有读写权限 其他的从redis是只有读的权限 没有写的权限 这个在后面的演示中就可以区分出来)
我们要选择一个服务器的redis作为这个主redis 我这边就使用 服务器1上的redis为主
之后 再启动其他服务器上的redis 但是在启动之前 必须进行设置 设置内容(指向主redis地址 、密码等)
设置如下
找到 redis文件夹bin目录下的redis.config文件
进行编辑
搜索关键字 replicaof 找到其位置 replicaof <masterip> <masterport>
然后设置在下面一行加上 slaveof 101.133.xxx.xx 6379
这个 ip 是我主redis的地址(阿里云服务器上的)
然后如果主服务器有密码 那就还需要搜索 masterauth
找到之后 去掉注释
改为 masterauth 【密码】 这种形式
然后保存退出
现在启动从redis服务
再在bin目录下启动一个 客户端程序
命令 ./redis-cli
输入info replication 命令看信息
现在再看看 服务器1上的redis 信息和上面的有什么不同?
启动一个
命令 ./redis-cli
然后输入
info replication 查看信息
这样主从关系就很清楚了
主redis具有读写权限
从redis只有读的权限 写就会报错
这个同步是很快的
关于redis主从数据同步 不是本篇文章的内容
但是深入了解redis的人 就会知道
从redis 在首次启动后 使用的同步策略就是 全量同步(redis.rdb文件) 之后的同步策略就变成 增量同步(redis.aof文件)
redis集群就是这样的关系 一般集群肯定不止两台 最少都要三台 或者更多台服务
采用二叉树的这种风格设计的
一个主redis多个从redis
为什么使用二叉树呢?
这样做redis在同步数据的时候效率很高 主redis只需要想从redis1和2同步 完了之后 1和2 再以此他的从redis中同步数据就可以了
这种集群的配置方法
看上面的redis集群二叉树图能明白 redis1 是主redis的一个从redis 那他同时也是 redis3和redis4的主redis 所以redis集群的时候 redis3和4 在配置文件 redis.config 中的mymaster 指向一定是redis1的地址
同理 redis5的mymaster ip指向一定是redis2的地址