SpingBoot之集成Redis集群
一、安装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
比你优秀的人比你还努力,你有什么资格不去奋斗!!!
SpingBoot之集成Redis集群的更多相关文章
- Spring集成Redis集群(含spring集成redis代码)
代码地址如下:http://www.demodashi.com/demo/11458.html 一.准备工作 安装 Redis 集群 安装参考: http://blog.csdn.net/zk6738 ...
- Springboot2.x集成Redis集群模式
Springboot2.x集成Redis集群模式 说明 Redis集群模式是Redis高可用方案的一种实现方式,通过集群模式可以实现Redis数据多处存储,以及自动的故障转移.如果想了解更多集群模式的 ...
- springmvc3.2集成redis集群
老项目需要集成redis集群 因为spring版本才从2.x升级上来,再升级可能改动较大,且并非maven项目升级麻烦,故直接集成. jar包准备: jedis-2.9.0.jar -- 据说只有这 ...
- Spring Boot集成Redis集群(Cluster模式)
目录 集成jedis 引入依赖 配置绑定 注册 获取redis客户端 使用 验证 集成spring-data-redis 引入依赖 配置绑定 注册 获取redis客户端 使用 验证 异常处理 同样的, ...
- spring集成redis,集成redis集群
原文:http://chentian114.iteye.com/blog/2292323 1.通过spring-data-redis集成redis pom.xml依赖包 <project xml ...
- springboot集成redis集群
1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置
Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...
- Spring-Session实现Session共享Redis集群方式配置教程
循序渐进,由易到难,这样才更有乐趣! 概述 本篇开始继续上一篇的内容基础上进行,本篇主要介绍Spring-Session实现配置使用Redis集群,会有两种配置方式,一种是Redis-Cluster, ...
- Springboot2.x集成lettuce连接redis集群报超时异常Command timed out after 6 second(s)
文/朱季谦 背景:最近在对一新开发Springboot系统做压测,发现刚开始压测时,可以正常对redis集群进行数据存取,但是暂停几分钟后,接着继续用jmeter进行压测时,发现redis就开始突然疯 ...
随机推荐
- Python3之多线程学习
这里做一个自己复习多线程的笔记 Python中使用线程有两种方式:函数或者用类来包装线程对象. 函数式:调用 _thread 模块中的start_new_thread()函数来产生新线程.语法如下: ...
- [POJ2248] Addition Chains 迭代加深搜索
Addition Chains Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5454 Accepted: 2923 ...
- java集合之HashSet哈希SET基础
hashSet实现set接口.serializable.cloneable接口.不允许有重复值,但可以null,不保证与插入顺序一致. HashSet迭代的时间与HashSet实例的大小(元素的数量) ...
- std::weak_ptr
weak_ptr 是一种不控制对象生命周期的智能指针, 它指向一个 shared_ptr 管理的对象. 进行该对象的内存管理的是那个强引用的 shared_ptr. weak_ptr只是提供了对管理对 ...
- 20.discuz论坛-实现伪静态
部署discuz论坛 1.直接上配置文件--->>> [root@web01 conf.d]# vim discuz.cheng.com.conf server { listen 8 ...
- Open vSwitch系列之一 Open vSwitch诞生
Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs 2006年,SDN诞生于美国GENI项目资助的斯坦福大学Clean Slate课题 ...
- 解决Dubbo 2.7.3版本使用ConfigCenterConfig集成Apollo No Provider found的问题
Dubbo 2.7.3 集成Apollo 问题描述 Dubbo 2.7.3支持配置中心外部化配置, 因此只需要定义一个ConfigCenterConfig的Bean. @EnableDubbo(sca ...
- C++两个队列实现一个栈
C++两个队列实现一个栈 /* * source.cpp * * Created on: 2015年6月21日 * Author: codekiller */ #include "iostr ...
- OptimalSolution(3)--链表问题(1)简单
单链表Node节点类 public class Node { public int val; public Node next; public Node(int val) { this.val = v ...
- WebApi HttpUtils
public class HttpUtils { private static final String TAG = "uploadFile"; * ;//超时时间 /** * 通 ...