SpingBoot之集成Redis集群
2019-11-18 23:54
2281 查看
一、安装Redis集群
安装步骤参照网上教程,Mac安装步骤参照https://github.com/muyl/mac-docker-redis-cluster
二、创建SpringBoot工程
创建Redis配置类
package com.example.chapterredis.common.config; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; 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; /** * @author tony */ @Configuration public class RedisConfiguration { private static final Logger logger = LoggerFactory.getLogger(RedisConfiguration.class); @Value("${spring.redis.clusterNodes}") private String clusterNodes; @Value("${spring.redis.password}") private String auth; @Value("${spring.redis.pool.maxActive}") private Integer maxTotal; @Value("${spring.redis.pool.minIdle}") private Integer minIdle; @Value("${spring.redis.pool.maxIdle}") private Integer maxIdle; @Value("${spring.redis.pool.maxWait}") private Long maxWaitMillis; @Value("${spring.redis.pool.commandTimeout}") private int commandTimeout; @Bean public JedisCluster jedisCluster() { String[] serverArray = clusterNodes.split(","); Set<HostAndPort> nodes = new HashSet<>(); for (String ipPort : serverArray) { String[] ipPortPair = ipPort.split(":"); nodes.add(new HostAndPort(ipPortPair[0].trim(), Integer.valueOf(ipPortPair[1].trim()))); } if (!nodes.isEmpty()) { String password = getAuth(auth); logger.info("redis password:{}", password); GenericObjectPoolConfig pool = new GenericObjectPoolConfig(); pool.setMaxTotal(maxTotal); pool.setMinIdle(minIdle); pool.setMaxIdle(maxIdle); pool.setMaxWaitMillis(maxWaitMillis); return new JedisCluster(nodes, commandTimeout, commandTimeout, 5, password, pool); } return null; } private String getAuth(String auth) { return "".equals(auth) ? null : auth; } }
SpringBoot属性文件
spring.redis.clusterNodes=localhost:7000,localhost:7001,localhost:7002,localhost:7003,localhost:7004,localhost:7005 spring.redis.password= spring.redis.pool.maxActive=5 spring.redis.pool.minIdle=5 spring.redis.pool.maxIdle=1 spring.redis.pool.maxWait=3000 spring.redis.pool.commandTimeout=5000
SpringBoot启动类
package com.example.chapterredis; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ChapterRedisApplication { public static void main(String[] args) { SpringApplication.run(ChapterRedisApplication.class, args); } }
测试类
package com.example.chapterredis; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import redis.clients.jedis.JedisCluster; @RunWith(SpringRunner.class) @SpringBootTest(classes={ChapterRedisApplication.class}) public class ChapterRedisApplicationTests { @Autowired private JedisCluster jedisCluster; @Test public void test2() { jedisCluster.set("aaa","123"); System.out.println(jedisCluster.get("aaa")); } }
三、工程源代码
https://gitee.com/shanksV/chapter-redis.git
比你优秀的人比你还努力,你有什么资格不去奋斗!!!
相关文章推荐
- SpingBoot2.1.3集成Redis
- springboot集成redis集群(带密码并序列化)
- Springboot2.X集成redis集群(Lettuce)连接的方法
- SpringBoot中集成Redis集群模式
- IDEA springboot集成ehcache单节点和redis集群
- SpringBoot集成redis集群存储字符串和对象
- Spring Boot 1.5.4集成Redis
- SpringBoot集成Redis来实现缓存技术方案
- Spring Boot 连接 redis 集群
- redis集群 与springboot 整合步骤 (linux版本)
- SpringBoot -- 集成Redis/CacheManager
- Spring Boot : 集成redis(九)
- Shiro与Redis集成,集群下的session共享
- springboot 集成redis (单点)
- spring-boot集成mybatis,用redis做缓存
- SpringBoot2.0集成Redis的日常使用
- Spring集成Jedis(不依赖spring-data-redis)(单机/集群模式)(待实践)
- SpringBoot整合Redis集群
- SpringBoot(三):集成Redis缓存技术
- Spring集成Jedis(不依赖spring-data-redis)(单机/集群模式)(待实践)