一、安装Redis集群

安装步骤参照网上教程,Mac安装步骤参照https://github.com/muyl/mac-docker-redis-cluster

二、创建SpringBoot工程

  1. 创建Redis配置类

    package com.example.chapterredis.common.config;
    
    import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import redis.clients.jedis.HostAndPort;
    import redis.clients.jedis.JedisCluster; import java.util.HashSet;
    import java.util.Set; /**
    * @author tony
    */
    @Configuration
    public class RedisConfiguration { private static final Logger logger = LoggerFactory.getLogger(RedisConfiguration.class); @Value("${spring.redis.clusterNodes}")
    private String clusterNodes;
    @Value("${spring.redis.password}")
    private String auth;
    @Value("${spring.redis.pool.maxActive}")
    private Integer maxTotal;
    @Value("${spring.redis.pool.minIdle}")
    private Integer minIdle;
    @Value("${spring.redis.pool.maxIdle}")
    private Integer maxIdle;
    @Value("${spring.redis.pool.maxWait}")
    private Long maxWaitMillis;
    @Value("${spring.redis.pool.commandTimeout}")
    private int commandTimeout; @Bean
    public JedisCluster jedisCluster() {
    String[] serverArray = clusterNodes.split(",");
    Set<HostAndPort> nodes = new HashSet<>();
    for (String ipPort : serverArray) {
    String[] ipPortPair = ipPort.split(":");
    nodes.add(new HostAndPort(ipPortPair[0].trim(), Integer.valueOf(ipPortPair[1].trim())));
    } if (!nodes.isEmpty()) {
    String password = getAuth(auth);
    logger.info("redis password:{}", password);
    GenericObjectPoolConfig pool = new GenericObjectPoolConfig();
    pool.setMaxTotal(maxTotal);
    pool.setMinIdle(minIdle);
    pool.setMaxIdle(maxIdle);
    pool.setMaxWaitMillis(maxWaitMillis);
    return new JedisCluster(nodes, commandTimeout, commandTimeout, 5, password, pool);
    }
    return null;
    } private String getAuth(String auth) {
    return "".equals(auth) ? null : auth;
    }
    }
  2. SpringBoot属性文件

    spring.redis.clusterNodes=localhost:7000,localhost:7001,localhost:7002,localhost:7003,localhost:7004,localhost:7005
    spring.redis.password=
    spring.redis.pool.maxActive=5
    spring.redis.pool.minIdle=5
    spring.redis.pool.maxIdle=1
    spring.redis.pool.maxWait=3000
    spring.redis.pool.commandTimeout=5000
  3. SpringBoot启动类

    package com.example.chapterredis;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
    public class ChapterRedisApplication { public static void main(String[] args) {
    SpringApplication.run(ChapterRedisApplication.class, args);
    }
    }
  4. 测试类

    package com.example.chapterredis;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    import redis.clients.jedis.JedisCluster; @RunWith(SpringRunner.class)
    @SpringBootTest(classes={ChapterRedisApplication.class})
    public class ChapterRedisApplicationTests { @Autowired
    private JedisCluster jedisCluster; @Test
    public void test2() {
    jedisCluster.set("aaa","123");
    System.out.println(jedisCluster.get("aaa"));
    } }
三、工程源代码

https://gitee.com/shanksV/chapter-redis.git

比你优秀的人比你还努力,你有什么资格不去奋斗!!!

SpingBoot之集成Redis集群的更多相关文章

  1. Spring集成Redis集群(含spring集成redis代码)

    代码地址如下:http://www.demodashi.com/demo/11458.html 一.准备工作 安装 Redis 集群 安装参考: http://blog.csdn.net/zk6738 ...

  2. Springboot2.x集成Redis集群模式

    Springboot2.x集成Redis集群模式 说明 Redis集群模式是Redis高可用方案的一种实现方式,通过集群模式可以实现Redis数据多处存储,以及自动的故障转移.如果想了解更多集群模式的 ...

  3. springmvc3.2集成redis集群

    老项目需要集成redis集群 因为spring版本才从2.x升级上来,再升级可能改动较大,且并非maven项目升级麻烦,故直接集成. jar包准备: jedis-2.9.0.jar  -- 据说只有这 ...

  4. Spring Boot集成Redis集群(Cluster模式)

    目录 集成jedis 引入依赖 配置绑定 注册 获取redis客户端 使用 验证 集成spring-data-redis 引入依赖 配置绑定 注册 获取redis客户端 使用 验证 异常处理 同样的, ...

  5. spring集成redis,集成redis集群

    原文:http://chentian114.iteye.com/blog/2292323 1.通过spring-data-redis集成redis pom.xml依赖包 <project xml ...

  6. springboot集成redis集群

    1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  7. Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置

    Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...

  8. Spring-Session实现Session共享Redis集群方式配置教程

    循序渐进,由易到难,这样才更有乐趣! 概述 本篇开始继续上一篇的内容基础上进行,本篇主要介绍Spring-Session实现配置使用Redis集群,会有两种配置方式,一种是Redis-Cluster, ...

  9. Springboot2.x集成lettuce连接redis集群报超时异常Command timed out after 6 second(s)

    文/朱季谦 背景:最近在对一新开发Springboot系统做压测,发现刚开始压测时,可以正常对redis集群进行数据存取,但是暂停几分钟后,接着继续用jmeter进行压测时,发现redis就开始突然疯 ...

随机推荐

  1. HTML5 lufylegend引擎学习(一) -- 剪刀石头布小游戏

    网址:http://www.lufylegend.com/ <!DOCTYPE html> <html> <head> <title>A Little ...

  2. 【笔记】关于N-Way K-Shot 分类问题的理解

    Time: 2019年10月27日 Author:Veagau 在看讲Repitle的论文[On First-Order Meta-Learning Algorithm]时,实验环节对N-Way K- ...

  3. ESP8266开发之旅 网络篇⑯ 无线更新——OTA固件更新

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  4. 修改springfox-swagger源码,使example中时间格式默认为“yyyy-MM-dd HH:mm:ss”

    修改swagger源码,使example中时间格式默认为"yyyy-MM-dd HH:mm:ss" 前言 简单点说,在swagger中,怎么能针对以下vo中的java.util.D ...

  5. Django 从零开始

    Django在Python的web开发框架中属于重量级的框架,功能多而全,但是相对的体积和坑也会比较多,但是其实学习Python的web开发个人觉得Django其实会比Flask好上手,特别是0基础的 ...

  6. python3.8安装flask出现错误“ModuleNotFoundError: No module named '_ctypes'”

    本想在CentOS下配置flask+nginx+uwsgi环境,结果安装最基础的flask包都出了问题...以下是我的环境: 服务器:阿里云ECS CentOS7 python版本:3.8.0 问题描 ...

  7. mySQL的安装过程---二进制和源码安装

    安装 mysql 源码包安装 优化基础源 [root@db03 ~]# vim /etc/yum.repos.d/CentOS-Base.repo 安装依赖包 [root@db03 ~]# yum i ...

  8. IDEA配置maven+错误记录

    使用maven并不是那么顺利所以把自己遇到的问题也记录一下 下载maven 从官网下载maven官网 配置环境变量 新建一个变量名:MAVEN_HOME 值:maven目录 path:%MAVEN_H ...

  9. django-URL应用命名空间(十)

    在多个app下有相同函数时,可能会出现混乱,这时要给每个app取名 基本目录: settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'djan ...

  10. spring源码学习(二)

    本篇文章,来介绍finishBeanFactoryInitialization(beanFactory);这个方法:这个方法主要是完成bean的实例化,invokeBeanFactoryPostPro ...