1 Redis集群实现
1.1 Redis集群
1.1.1 为什么要搭建集群
通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取。
Redis是一个很好的Cache工具。大型网站应用,热点数据量往往巨大,几十G上百G是很正常的事儿。
由于内存大小的限制,使用一台 Redis 显然无法满足需求,这时就需要使用多台 Redis作为缓存数据库。但是如何保证数据存储的一致性呢,这时就需要搭建redis集群.采用合理的机制,保证用户的正常的访问需求.
采用redis集群,可以保证数据分散存储,同时保证数据存储的一致性.并且在内部实现高可用的机制.实现了服务故障的自动迁移.
1.1.2 集群搭建计划
主从划分:
3台主机 3台从机共6台 端口划分7000-7005
1.2 集群搭建
1.2.1 准备集群文件夹
1.准备集群文件夹
Mkdir cluster
2.在cluster文件夹中分别创建7000-7005文件夹
1.2.2 复制配置文件
说明:
将redis根目录中的redis.conf文件复制到cluster/7000/ 并以原名保存
cp redis.conf cluster/7000/
1.2.3 编辑配置文件
1编辑.conf文件,找到69行,注释本地绑定IP地址
-
找到88行,关闭保护模式
-
找到92行,修改端口号为7000
-
启动后台启动
-
修改pid文件
-
修改持久化文件路径
-
设定内存优化策略
-
关闭AOF模式
-
开启集群配置
-
开启集群配置文件
-
修改集群超时时间
1.2.4 复制修改后的配置文件
说明:将7000文件夹下的redis.conf文件分别复制到7001-7005中
[root@localhost cluster]# cp 7000/redis.conf 7001/
[root@localhost cluster]# cp 7000/redis.conf 7002/
[root@localhost cluster]# cp 7000/redis.conf 7003/
[root@localhost cluster]# cp 7000/redis.conf 7004/
[root@localhost cluster]# cp 7000/redis.conf 7005/
1.2.5 批量修改
说明:分别将7001-7005文件中的7000改为对应的端口号的名称,
修改时注意方向键的使用
1.2.6 通过脚本编辑启动/关闭指令
- 创建启动脚本
vim start.sh
-
编辑关闭的脚本
vim shutdown.sh
-
启动redis节点
sh start.sh
- 检查redis节点启动是否正常
1.2.7 创建redis集群
#5.0版本执行 使用C语言内部管理集群
redis-cli --cluster create --cluster-replicas 1 192.168.35.130:7000 192.168.35.130:7001 192.168.35.130:7002 192.168.35.130:7003 192.168.35.130:7004 192.168.35.130:7005
1.2.8 Redis集群高可用测试
- 关闭redis主机.检查是否自动实现故障的自动迁移.
- 再次启动关闭的主机.检查是否能够实现自动的挂载.
正常情况下 能够实现主从挂载
例外情况: 宕机后的节点重启,可能挂载到其他主节点中(7001-7002) 正确的