Login
网站首页 > 文章中心 > 其它

springboot和Redis集群版的整合_springboot连接redis集群配置

作者:小编 更新时间:2023-08-17 13:07:49 浏览量:6人看过

此篇接上一个文章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(",");
    Set nodes = 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集群版的整合相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章