代码地址如下:
http://www.demodashi.com/demo/13184.html

一、前言

spring-boot项目整合redis很常见,Redis 一般上生产的时候都是以集群模式部署,也就是redis cluster。本demo以最干净简洁的方式整合spring-boot和redis cluster,方便需要的同学查阅。

二、项目结构

三、整合过程

本工程采用maven管理依赖,程序主框架采用spring-boot。

maven核心依赖

       <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><version>1.5.1.RELEASE</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-redis</artifactId><version>1.4.4.RELEASE</version></dependency>

工程主要包括4部分:
- redis cluster配置类
- spring-boot主文件
- spring-boot配置文件
- 单元测试

redis cluster配置类

  1. RedisClusterProperties
    把配置文件application.yml中redis cluster的配置项,映射到java对象中,方便直接使用
@Configuration
@ConfigurationProperties(prefix = "spring.redis.cluster")
public class RedisClusterProperties {//集群节点private List<String> nodes=new ArrayList<>();public List<String> getNodes() {return nodes;}public void setNodes(List<String> nodes) {this.nodes = nodes;}
}
  1. RedisClusterConfig
    redis cluster核心配置类,启动spring-boot项目的时候在这里实例化JedisCluster对象
 @Beanpublic JedisCluster redisCluster(){Set<HostAndPort> nodes = new HashSet<>();for (String node:redisClusterProperties.getNodes()){String[] parts= StringUtils.split(node,":");Assert.state(parts.length==2, "redis node shoule be defined as 'host:port', not '" + Arrays.toString(parts) + "'");nodes.add(new HostAndPort(parts[0], Integer.valueOf(parts[1])));}return new JedisCluster(nodes);}

spring-boot主文件

  1. ItcljApplication
    spring-boot工程启动文件,里面就是main方法,用于启动项目,项目启动过程中会自动扫描com.itclj包下的所有类,扫描到RedisClusterConfig类的时候,由于public JedisCluster redisCluster()方法加了@Bean注解,spring会自动执行该方法实例化一个JedisCluster对象放入spring上下文,以后需要使用的时候在需要的类直接自动注入即可。

spring-boot配置文件

  1. application.yml
    配置redis集群服务器地址
spring:redis:cluster:nodes:- redis1.msxf.lotest:7000- redis1.msxf.lotest:7001- redis2.msxf.lotest:7002- redis2.msxf.lotest:7003- redis3.msxf.lotest:7004- redis3.msxf.lotest:7005

单元测试

  1. RedisTest
    采用junit作为单元测试工具,启动单元测试spring-boot会初始化整个项目,构建上下文,在这个过程中JedisCluster也将被实例化放入spring-boot上下文中,在单元测试类中直接使用,调用其get()方法获取redis集群的数据。

在正式写业务逻辑的时候用法也是一样的,在需要的类里面自动注入JedisCluster即可,然后直接使用,进行redis的增删改查。

    @Autowiredprivate JedisCluster jedisCluster;@Testpublic void get(){System.out.println("=============="+jedisCluster.get("youqian-spread-sync-to-mysql-date"));}

四、运行代码

在idea里面,进入单元测试类RedisTest选中get()方法,有单击鼠标,run即可。然后在控制台输出从redis cluster中获取到的数据了。
spring-boot-redis-cluster简单整合例子

代码地址如下:
http://www.demodashi.com/demo/13184.html

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

spring-boot-redis-cluster简单整合例子相关推荐

  1. Spring Boot Redis Cluster 实战干货

    转载自  Spring Boot Redis Cluster 实战干货 添加配置信息 spring.redis:database: 0 # Redis数据库索引(默认为0)#host: 192.168 ...

  2. spring boot 1.5.4 整合redis、拦截器、过滤器、监听器、静态资源配置(十六)

    上一篇:spring boot 1.5.4 整合webService(十五) 1      Spring Boot整合redis和缓存 Spring Boot中除了对常用的关系型数据库提供了优秀的自动 ...

  3. 响应式久草编程基础教程:久草Spring Boot 与 Lettuce 在线整合

    本文主要介绍响应式编程访问 Redis,以及 Spring Boot 与 Lettuce 的整合使用. Lettuce 是可扩展性线程安全的 Redis 客户端,用于同步.异步和响应式使用.如果多个线 ...

  4. spring boot 1.5.4 整合 mybatis(十二)

    上一篇:spring boot 1.5.4 整合log4j2(十一) Spring Boot集成Mybatis 更多更详细的配置参考文件:application.properties和<Spri ...

  5. Spring Boot持久化的简单实现

    本篇主要讲解的是Spring Data Jpa 前提准备:JDK1.8,Mysql5.7.18 主要maven依赖的包: spring-boot-starter-jdbc mysql-connecto ...

  6. java+cache使用方法_java相关:Spring boot redis cache的key的使用方法

    java相关:Spring boot redis cache的key的使用方法 发布于 2020-8-16| 复制链接 摘记: 在数据库查询中我们往往会使用增加缓存来提高程序的性能,@Cacheabl ...

  7. Spring Boot Cache使用与整合

    参考: 史上最全的Spring Boot Cache使用与整合 Spring Cache扩展:注解失效时间+主动刷新缓存 项目地址 使用本地Caffeine缓存 引入依赖包 <dependenc ...

  8. Spring Boot Redis缓存

    Spring Boot Redis缓存 目录[ 隐藏 ] 1 Spring Boot Redis缓存 1.1 Spring Boot Redis项目设置 1.2 Spring Boot Redis缓存 ...

  9. 太好了 | 这篇写的太好了!Spring Boot + Redis 实现接口幂等性

    Hi ! 我是小小,今天是本周的第四篇,第四篇主要内容是 Spring Boot + Redis 实现接口幂等性 介绍 幂等性的概念是,任意多次执行所产生的影响都与一次执行产生的影响相同,按照这个含义 ...

最新文章

  1. 缓存处理类(MemoryCache结合文件缓存)
  2. ubuntu9.10安装Tweak
  3. 提高表格可读性的一些技巧
  4. 【强化学习】PPO代码注释版本
  5. lime 模型_使用LIME的糖尿病预测模型解释— OneZeroBlog
  6. 向oracle表空间添加一个数据文件命令
  7. oracle 分页过程,oracle存储过程分页的完整例子
  8. [渝粤教育] 西南科技大学 管理学原理 在线考试复习资料(3)
  9. 单龙芯3A3000-7A1000PMON研究学习-(10)撸起袖子干-pmoncfg Bonito 干了什么?(这是make cfg的部分)
  10. 学术会议演讲视频录制全方位指南
  11. 截止失真放大电路_基本共射放大电路的特点你懂了吗?
  12. 显微镜下的大明——第一个故事
  13. oracle的dmp文件导入mysql_Oracle 数据库导入导出 dmp文件
  14. Excel教程:必会的大数据录入技巧|Excel入门
  15. zzulioj1138: C语言合法标识符
  16. C++学习45 流成员函数put输出单个字符 cin输入流详解 get()函数读入一个字符
  17. 时寒冰 --- 一如即往的支持你
  18. NoSql入门和概述
  19. 盘点买房贷款的八大注意事项
  20. 一期每日一GO群分享-flag、viper、协程池、异常处理

热门文章

  1. 12013.ADC779x采集芯片
  2. 数字地和模拟地都是地,为什么要分开?
  3. 群联固态硬盘修复工具_群联发布最高容量QLC硬盘: 15.36TB 碾压HDD
  4. 【蓝桥杯嵌入式】【STM32】13_PWM输入捕获模式
  5. libevent源码深度剖析九
  6. 计算机主机的奥秘,揭秘网吧电脑为何流畅的奥秘
  7. java混淆of_java – 是否有任何级别的混淆可以“欺骗”instanceof?
  8. c语言地震子波6,地震子波反褶积程序
  9. 厉害插件_2个相见恨晚的浏览器插件,让你的工作效率提升100%
  10. Revit2018找不到外部工具