SpringBoot连接Redis集群教程

 更新时间:2025年06月20日 14:32:08   作者:°Fuhb  
这篇文章主要介绍了SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1. 依赖

    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
    </dependency>

2. 修改配置文件

server.port=100

#redis集群节点信息
spring.redis.cluster.nodes=192.168.25.132:6379,192.168.25.132:6380,192.168.25.133:6379,192.168.25.133:6380,192.168.25.134:6379,192.168.25.134:6380
#redis连接密码(默认空)
spring.redis.password=
#redis连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=20
#redis连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait=-1
#redis连接池最大空闲连接
spring.redis.jedis.pool.max-idle=200
#redis连接池最小空闲连接
spring.redis.jedis.pool.min-idle=20
#redis连接超时时间(毫秒)
spring.redis.timeout=10000

3. 创建RedisClusterConfig

@Configuration
public class RedisClusterConfig {

    @Value("${spring.redis.cluster.nodes}")
    private String clusterNodes;

    @Value("${spring.redis.database}")
    private int database;

    @Value("${spring.redis.timeout}")
    private int timeout;

    @Value("${spring.redis.jedis.pool.max-idle}")
    private int maxIdle;

    @Value("${spring.redis.jedis.pool.min-idle}")
    private int minIdle;

    @Value("${spring.redis.jedis.pool.max-active}")
    private int maxActive;

    @Value("${spring.redis.jedis.pool.max-wait}")
    private long maxWait;

    @Bean
    public JedisCluster getJedisCluster() {
        return new JedisCluster(getNodes(), timeout, poolConfig());
    }

    private JedisPoolConfig poolConfig() {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxIdle(maxIdle);
        config.setMinIdle(minIdle);
        config.setMaxTotal(maxActive);
        config.setMaxWaitMillis(maxWait);
        return config;
    }

    private Set<HostAndPort> getNodes() {
        String[] cNodes = clusterNodes.split(",");
        Set<HostAndPort> nodes = new HashSet<HostAndPort>();
        // 分割出集群节点
        String[] hp;
        for (String node : cNodes) {
            hp = node.split(":");
            nodes.add(new HostAndPort(hp[0], Integer.parseInt(hp[1])));
        }
        return nodes;
    }
}

4. 测试

@RestController
@RequestMapping("/redis/cluster")
public class RedisClusterController {
    @Autowired
    private JedisCluster jedisCluster;

    @GetMapping("/set")
    public void set(@RequestParam("key") String key, @RequestParam("value") String value){
        jedisCluster.set(key, value);
    }
}

这边就不演示了,分别访问以下2个地址,能得到结果说明正常:

http://localhost:100/redis/cluster/set?key=name&value=zhangsan

http://localhost:100/redis/cluster/get?key=name

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 解决SpringMvc后台接收json数据中文乱码问题的几种方法

    解决SpringMvc后台接收json数据中文乱码问题的几种方法

    本篇文章主要介绍了解决SpringMvc后台接收json数据中文乱码问题的几种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 详解Java的Hibernate框架中的注解与缓存

    详解Java的Hibernate框架中的注解与缓存

    这篇文章主要介绍了详解Java的Hibernate框架中的注解与缓存,Hibernate是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2015-12-12
  • Java中Volatile关键字详解及代码示例

    Java中Volatile关键字详解及代码示例

    这篇文章主要介绍了Java中Volatile关键字详解及代码示例,分为两个部分,第一部分介绍了Volatile关键字的基本概念等内容,第二部分分享了实例代码,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • JAVA实现链表面试题

    JAVA实现链表面试题

    这篇文章主要为大家详细介绍了JAVA相关实现链表的面试题,代码实现非常详细,每一个方法讲解也很到位,特别适合参加Java面试的朋友阅读
    2015-09-09
  • Java同步锁Synchronized底层源码和原理剖析(推荐)

    Java同步锁Synchronized底层源码和原理剖析(推荐)

    这篇文章主要介绍了Java同步锁Synchronized底层源码和原理剖析,释放后,进入减减操作、直到为0然后唤醒队列,让他们去争夺锁,循环前面步骤,对Java同步锁Synchronized相关知识感兴趣的朋友一起看看吧
    2022-05-05
  • SpringBoot后端接收参数优化代码示例(统一处理前端参数)

    SpringBoot后端接收参数优化代码示例(统一处理前端参数)

    使用Spring Boot开发API的时候,读取请求参数是服务端编码中最基本的一项操作,下面这篇文章主要给大家介绍了关于SpringBoot后端接收参数优化(统一处理前端参数)的相关资料,需要的朋友可以参考下
    2024-07-07
  • Java中ArrayList实现原理及基本方法

    Java中ArrayList实现原理及基本方法

    这篇文章主要介绍了Java中ArrayList实现原理及基本方法,ArrayList是开发中非常常用的数据存储容器之一,其底层是数组实现的,我们可以在集合中存储任意类型的数据,ArrayList是线程不安全的,擅长随机访问元素,插入和删除较慢,需要的朋友可以参考下
    2023-08-08
  • spring事物传播propagation类别含义详解

    spring事物传播propagation类别含义详解

    这篇文章主要介绍了spring事物传播propagation类别含义详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • 详解如何为SpringBoot项目中的自定义配置添加IDE支持

    详解如何为SpringBoot项目中的自定义配置添加IDE支持

    这篇文章主要介绍了详解如何为SpringBoot项目中的自定义配置添加IDE支持,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • spring @profile注解的使用方法

    spring @profile注解的使用方法

    本篇文章主要介绍了spring @profile注解的使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10

最新评论