1.pom文件添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
2.在application.properties里配置
3.引用配置
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
*读取redis配置信息并装载
*/
@Component
@ConfigurationProperties(prefix = "spring.redis")
public class RedisProperties {
private String clusterNodes;
public String getClusterNodes() {
return clusterNodes;
}
public void setClusterNodes(String clusterNodes) {
this.clusterNodes = clusterNodes;
}
}
4.分割并创建redis集群对象
package com.handu.popcorn.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.handu.popcorn.common.utils.RedisProperties;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import java.util.HashSet;
import java.util.Set;
@Configuration
public class RedisConfig {
@Autowired
private RedisProperties redisProperties;
@Bean
public JedisCluster getJedisCluster(){
//分割集群节点
String[] cNodes =redisProperties.getClusterNodes() .split(",");
//创建set集合对象
Set<HostAndPort> nodes =new HashSet<>();
for (String node:cNodes) {
//127.0.0.1:7001
String[] hp = node.split(":");
nodes.add(new HostAndPort(hp[0],Integer.parseInt(hp[1])));
}
//创建Redis集群对象
JedisCluster jedisCluster=new JedisCluster(nodes);
return jedisCluster;
}
}
5.创建ServiceImpl
package com.handu.popcorn.service.impl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import redis.clients.jedis.JedisCluster;
@Service
public class RedisClientTemplateServiceImpl {
@Autowired
private JedisCluster jedisCluster;
public String findRedis(){
jedisCluster.set("你是GG还是MM?","我是世界第一帅");
return jedisCluster.get("你是GG还是MM?");
}
}
6.controller
@Autowired
RedisClientTemplateServiceImpl redisClientTemplate;
// @GetMapping(value = "/testSet")
@RequestMapping("/testSet")
@ResponseBody
public String findRedis(){
System.out.println("开始");
return redisClientTemplate.findRedis();
}
至此完美收官。