您的位置:首页 > 数据库 > Redis

SpringBoot整合Redis集群

2018-03-03 23:28 806 查看
1.在pom.xml中加入redis的依赖
2.在application.properties加入整合redis的配置。(spring.redis.cluster.nodes=....)
3.新建一个RedisConfig.java文件,在此类的上面加入@Configuration注解,则此类相当于applicationContext.xml配置文件。
4.在RedisConfig类中写一个getJedisCluster方法,方法上加入@Bean注解,便可通过DI注入了。如下:package com.example.demo.config;

import java.util.HashSet;
import java.util.Set;

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;

@Configuration//此注解相当于将此类变为applicationContext.xml,即配置文件
public class RedisConfig {
//注入集群节点信息:即application.properties中的spring.redis.cluster.nodes
@Value("${spring.redis.cluster.nodes}")
private String clusterNodes;

@Bean
public JedisCluster getJedisCluster(){
String cNodes[]=clusterNodes.split(",");
Set<HostAndPort> nodes=new HashSet<>();
for(String node:cNodes){
String hp[]=node.split(":");

nodes.add(new HostAndPort(hp[0], Integer.parseInt(hp[1])));

}

JedisCluster jedisCluster=new JedisCluster(nodes);
return jedisCluster;
}

}
5.在controller类里,注入JedisCluster集群对象
pom.xml如下:<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>

<groupId>com.example</groupId>
<artifactId>SpringBootDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>SpringBootDemo</name>
<description>Demo project for Spring Boot</description>

<!--springboot父工程相关依赖-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>1.5.2.RELEASE</version>
</dependency>

<!-- springboot整合mybatisk框架所需的依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>

<!-- mysql的依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>

</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>
application.properties文件如下:#springboot整合mybatis框架
#在pom.xml文件中加入整合mybatis的依赖
#加载mybatis的配置文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

mybatis.type-aliases-package=com.example.demo.pojo

#数据源的配置
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.data-username=root
spring.datasource.data-password=123456

#整合Redis
#spring.redis.host=192.168.66.66
#spring.redis.port=6379

#整合Redis集群
spring.redis.cluster.nodes= 192.168.66.66:7001,192.168.66.66:7002,192.168.66.66:7002,192.168.66.66:7003,192.168.66.66:7004,192.168.66.66:7005,192.168.66.66:7006,192.168.66.66:7007,192.168.66.66:7008
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  springboot