《redis集群(安装以及使用)》

Redis集群

为什么要搭建集群

  • 通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取。
  • Redis是一个很好的Cache工具。大型网站应用,热点数据量往往巨大,几十G上百G是很正常的事儿。
  • Redis作为缓存数据库。但是如何保证数据存储的一致性呢,这时就需要搭建redis集群.采用合理的机制,保证用户的正常的访问需求.
  • 采用redis集群,可以保证数据分散存储,同时保证数据存储的一致性.并且在内部实现高可用的机制.实现了服务故障的自动迁移.

集群搭建计划

  • 主从划分:

3台主机 3台从机共6台 端口划分7000-7005

前提

我们搭建在linux中,工作目录是

/usr/local/src/redis

集群搭建

1 . 准备集群文件夹

1.1

mkdir cluster

1.2

在cluster文件夹中分别创建7000-7005文件夹
mkdir 7000 7001 7002 7003 7004 7005

2 . 复制配置文件

说明:

将redis根目录中的redis.conf文件复制到cluster/7000/ 并以原名保存

cp redis.conf cluster/7000/

3 . 编辑配置文件

  • 1 - 注释本地绑定IP地址
    在这里插入图片描述
  • 2 - 关闭保护模式
    在这里插入图片描述
  • 3 - 修改端口号
    在这里插入图片描述
  • 4 - 启动后台启动
    在这里插入图片描述
  • 5 - 修改pid文件
    在这里插入图片描述
  • 6 - 修改持久化文件路径
    在这里插入图片描述
  • 7 - 设定内存优化策略
    在这里插入图片描述
  • 8 - 关闭AOF模式
    在这里插入图片描述
  • 9 - 开启集群配置
    在这里插入图片描述
  • 10 - 开启集群配置文件
    在这里插入图片描述
  • 11 - 修改集群超时时间
    在这里插入图片描述

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/

5 . 批量修改

说明:

分别将7001-7005文件中的7000改为对应的端口号的名称,修改时注意方向键的使用

流程:

通过 vim 命令来进入配置文件后 输入以下的vim命令

:%s/7000/700/g

说明把配置文件的7000改为70001 后面的 g 是所有的

6 . 通过脚本编辑启动/关闭指令

1 - 创建启动脚本

vim start.sh

在这里插入图片描述
2 - 编辑关闭的脚本

vim  shutdown.sh

在这里插入图片描述
3 - 启动redis节点

sh start.sh

4 - 检查redis节点启动是否正常

ps -eg | grep redis

在这里插入图片描述

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

–cluster-replicas 1 :是代表1主1从

在这里插入图片描述
问我们是否要集群我们输入yes
在这里插入图片描述

master ---- 主机
slave ---- 从机
0-5460 ---- 槽位 (槽位分配给各各的主机)
16384 ---- 总共有 16384个槽位

测试集群

在这里插入图片描述
命令 : (进入redis后输入)

info replication

role – 表示的是从机或者主机 - master (主机) slave(从机)
port – 表示主机是谁或者从机是谁


SpringBoot整合 Redis集群

编辑properties配置文件

在这里插入图片描述

#准备6个redis节点
# redis集群的节点
redis.nodes=192.168.126.131:7000,192.168.126.131:7001,192.168.126.131:7002,192.168.126.131:7003,192.168.126.131:7004,192.168.126.131:7005

编辑配置类

在这里插入图片描述
在这里插入图片描述

获取端口号和节点地址,写以下代码
    @Bean   //将方法的返回值结果,交给spring容器进行管理.
    public JedisCluster jedisCluster(){
    
    
        Set<HostAndPort> nodesSet= new HashSet<>();
        String[] nodeArray=nodes.split(",");
        for (String node : nodeArray){
    
    
            String host = node.split(":")[0];
            int port = Integer.parseInt(node.split(":")[1]);
            HostAndPort hostAndPort = new HostAndPort(host, port);
            nodesSet.add(hostAndPort);
        }
        return new JedisCluster(nodesSet);
    }

编辑CacheAOP

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45103228/article/details/113790823