代码地址如下:
http://www.demodashi.com/demo/13184.html
spring-boot项目整合redis很常见,Redis 一般上生产的时候都是以集群模式部署,也就是redis cluster。本demo以最干净简洁的方式整合spring-boot和redis cluster,方便需要的同学查阅。
本工程采用maven管理依赖,程序主框架采用spring-boot。
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starterartifactId>
<version>1.5.1.RELEASEversion>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-redisartifactId>
<version>1.4.4.RELEASEversion>
dependency>
工程主要包括4部分:
- redis cluster配置类
- spring-boot主文件
- spring-boot配置文件
- 单元测试
application.yml
中redis cluster的配置项,映射到java对象中,方便直接使用@Configuration
@ConfigurationProperties(prefix = "spring.redis.cluster")
public class RedisClusterProperties {
//集群节点
private List nodes=new ArrayList<>();
public List getNodes() {
return nodes;
}
public void setNodes(List nodes) {
this.nodes = nodes;
}
}
@Bean
public JedisCluster redisCluster(){
Set 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);
}
com.itclj
包下的所有类,扫描到RedisClusterConfig
类的时候,由于public JedisCluster redisCluster()
方法加了@Bean
注解,spring会自动执行该方法实例化一个JedisCluster
对象放入spring上下文,以后需要使用的时候在需要的类直接自动注入即可。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
在正式写业务逻辑的时候用法也是一样的,在需要的类里面自动注入JedisCluster
即可,然后直接使用,进行redis的增删改查。
@Autowired
private JedisCluster jedisCluster;
@Test
public 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大师发表,拒绝转载,转载需要作者授权