此篇接上一个文章springboot和Redis单机版的整合
https://www.cnblogs.com/lin530/p/1201902③html
下面接着介绍和Redis集群版的整合.
①第一步惯例先导入依赖
org.springframework.boot spring-boot-starter-data-redis redis.clients jedis ③0.1
spring:
redis:
nodes: 192.16⑧159.104:7001,192.16⑧159.104:7002,192.16⑧159.104:7003,192.16⑧159.104:7004,192.16⑧159.104:7005,192.16⑧159.104:7006
注意格式.
先提供一个pojo封装信息RedisProperties
package com.bai.springdemo1.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; import org.springframework.stereotype.Component; //依赖注入 @Component //该注解用于读取配置文件中的属性,其中prefix表示前缀; @PropertySource("classpath:application.yml") @ConfigurationProperties(prefix = "spring.redis.cluster") public class RedisProperties { private int expireSeconds; private String nodes; private int commandTimeout; public int getExpireSeconds() { return expireSeconds; public void setExpireSeconds(int expireSeconds) { this.expireSeconds = expireSeconds; public String getNodes() { return nodes; public void setNodes(String nodes) { this.nodes = nodes; public int getCommandTimeout() { return commandTimeout; public void setCommandTimeout(int commandTimeout) { this.commandTimeout = commandTimeout; public String toString() { return "RedisProperties{" + '}'; } }
此处介绍一下可能遇到的坑,ConfigurationProperties注解在现在的高版本中取消了一些功能,可能导致读取不到配置信息,需要配置一下.
org.springframework.boot spring-boot-configuration-processor true
如果idea上方仍有红色提示信息,不必理会,测试一下能访问到配置文件即可.若想不提示,可自行去除.
package com.bai.springdemo1.config; import org.springframework.beans.factory.annotation.Autowired; 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; @Configuration public class RedisClusterConfig { private RedisProperties redisProperties; public JedisCluster getJedisCluster(){ //获取redis集群的ip及端口号等相关信息; String[] serverArray = redisProperties.getNodes().split(","); Setnodes = new HashSet<>(); //遍历add到HostAndPort中; for (String ipPort : serverArray) { String[] ipPortPair = ipPort.split(":"); nodes.add(new HostAndPort(ipPortPair[0].trim(), Integer.valueOf(ipPortPair[1].trim()))); //构建对象并返回; return new JedisCluster(nodes, redisProperties.getCommandTimeout()); } }
@Autowired private JedisCluster jedisCluster;
以上就是土嘎嘎小编为大家整理的springboot和Redis集群版的整合相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!