栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot整合redis集群

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot整合redis集群

哨兵集群

一、建立redis主从集群
启动多个redis,其他从属redis通过slaveof IP号 端口号绑定主redis,只有主redis可以写数据,其他从redis只能读取数据,同时自动会进行数据同步
二、搭建哨兵集群
1.复制多份redis,每一个redis新建一个sentinel.conf文件,并写入下面的代码

port 27001
sentinel monitor mymaster 127.0.0.1 7001 2 //前面是主redis的IP最后的这个2是主观数大于等于2时为客观
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 18000

2.启动命令,这里使用的window搭建的
redis2.x版本

redis-server sentinel.conf --sentinel

redis6.x版本

redis-sentinel sentinel.conf

三、springboot整合redis哨兵集群
1.yml
这里的nodes是哨兵集群的IP地址

spring:
  redis:
    sentinel:
      master: mymaster
      nodes:
        - 127.0.0.1:27001
        - 127.0.0.1:27002
        - 127.0.0.1:27003

2.配置LettuceClientConfigurationBuilderCustomizer的Bean
其中ReadFrom.REPLICA_PREFERRED的方式是优先从slave节点读取数据,最后实在不行再从主redis中读取数据。

    @Bean
    public LettuceClientConfigurationBuilderCustomizer clientConfigurationBuilderCustomizer(){
        return clientConfigurationBuilder -> clientConfigurationBuilder.readFrom(ReadFrom.REPLICA_PREFERRED);
    }

分片集群

一、编写redis.conf

port 7001
# 开启集群功能
cluster-enabled yes
# 集群的配置文件名称,不需要我们创建,由redis自己维护
cluster-config-file "/a1/nodes.conf"
# 节点心跳失败的超时时间
cluster-node-timeout 5000
# 持久化文件存放目录
dir "/a1"
# 绑定地址
bind 0.0.0.0
# 让redis后台运行
daemonize no
# 保护模式
protected-mode no
# 数据库数量
databases 1

二、启动各个redis服务
三、搭建集群
redis5.x版本以上使用以下命令

redis-cli --cluster create --cluster-replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:8001 127.0.0.1:8002 127.0.0.1:8003

四、散列插槽、集群伸缩、故障转移(省略)

五、springboot整合redis哨兵集群
1.yml
这里的nodes是哨兵集群的IP地址

spring:
  redis:
    cluster:
      nodes:
        - 127.0.0.1:7001
        - 127.0.0.1:7002
        - 127.0.0.1:7003
        - 127.0.0.1:8001
        - 127.0.0.1:8002
        - 127.0.0.1:8003

2.配置LettuceClientConfigurationBuilderCustomizer的Bean
其中ReadFrom.REPLICA_PREFERRED的方式是优先从slave节点读取数据,最后实在不行再从主redis中读取数据。

    @Bean
    public LettuceClientConfigurationBuilderCustomizer clientConfigurationBuilderCustomizer(){
        return clientConfigurationBuilder -> clientConfigurationBuilder.readFrom(ReadFrom.REPLICA_PREFERRED);
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/995646.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号