package com.inni.config;
import java.net.UnknownHostException;
import java.util.HashSet;
import java.util.Set;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPoolConfig;
@Configuration
@ConditionalOnClass({JedisCluster.class})
public class RedisConfig {
@Value("${spring.redis.cluster.nodes}")
private String clusterNodes;
@Value("${spring.redis.timeout}")
private int timeout;
@Value("${spring.redis.jedis.pool.max-idle}")
private int maxIdle;
@Value("${spring.redis.jedis.pool.max-wait}")
private long maxWaitMillis;
@Value("${spring.redis.commandTimeout}")
private int commandTimeout;
@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])));
}
JedisPoolConfig jedisPoolConfig =new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(maxIdle);
jedisPoolConfig.setMaxWaitMillis(maxWaitMillis);
//创建集群对象
// JedisCluster jedisCluster = new JedisCluster(nodes,commandTimeout);
return new JedisCluster(nodes,commandTimeout,jedisPoolConfig);
}
/**
* 设置数据存入redis 的序列化方式
*</br>redisTemplate序列化默认使用的jdkSerializeable,存储二进制字节码,导致key会出现乱码,所以自定义
*序列化类
*
* @paramredisConnectionFactory
*/
@Bean
public RedisTemplate<Object,Object> redisTemplate(RedisConnectionFactory redisConnectionFactory)throws UnknownHostException {
RedisTemplate<Object,Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer =new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper objectMapper =new ObjectMapper();
objectMapper.setVisibility(PropertyAccessor.ALL,JsonAutoDetect.Visibility.ANY);
objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(objectMapper);
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
public String getClusterNodes() {
return clusterNodes;
}
public void setClusterNodes(String clusterNodes) {
this.clusterNodes = clusterNodes;
}
public int getTimeout() {
return timeout;
}
public void setTimeout(int timeout) {
this.timeout = timeout;
}
public int getMaxIdle() {
return maxIdle;
}
public void setMaxIdle(int maxIdle) {
this.maxIdle = maxIdle;
}
public long getMaxWaitMillis() {
return maxWaitMillis;
}
public void setMaxWaitMillis(long maxWaitMillis) {
this.maxWaitMillis = maxWaitMillis;
}
public int getCommandTimeout() {
return commandTimeout;
}
public void setCommandTimeout(int commandTimeout) {
this.commandTimeout = commandTimeout;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
SpringBoot2.0+SpringCloud+redis集群搭建的旗舰网店网站,整合了Mybatis、Redis集群、druid等技术,采用分布式架构,面向服务的思想,该项目是自己在学习SpringBoot和SpringCloud时自己写的一个小项目,整体的功能上不是很完善,只做了用户登录注册,商品的展示,及SSO单点登录。前端页面是找别人要的,很炫酷。自己改了改,加了一些js代码,分享项目希望对大家学习SpringBoot和SpringCloud有帮助。 运行环境 jdk8+mysql+STS+maven+redis集群+nginx 项目技术(必填) springboot+springcloud+mybatis+jquery+reids集群+nginx
资源推荐
资源详情
资源评论
收起资源包目录
SpringBoot2.0+SpringCloud+redis集群搭建的旗舰网店网站 (200个子文件)
RedisConfig.class 5KB
UserServiceImpl.class 2KB
Item.class 2KB
JsonResult.class 2KB
UserController.class 2KB
ItemServiceImpl.class 2KB
User.class 2KB
InniUserApplicationTests.class 2KB
ItemController.class 1KB
InniUserApplication.class 909B
ServletInitializer.class 865B
ServletInitializer.class 865B
InniItemApplication.class 850B
UserMapper.class 786B
InniServerApplication.class 780B
ItemMapper.class 766B
BasePojo.class 749B
InniItemApplicationTests.class 636B
InniWebApplicationTests.class 631B
ItemService.class 314B
UserService.class 306B
.classpath 1KB
.classpath 1KB
.classpath 1KB
.classpath 1KB
.classpath 1KB
.classpath 955B
mvnw.cmd 5KB
mvnw.cmd 5KB
mvnw.cmd 5KB
mvnw.cmd 5KB
mvnw.cmd 5KB
org.eclipse.wst.common.component 915B
org.eclipse.wst.common.component 915B
org.eclipse.wst.common.component 912B
org.eclipse.wst.common.component 689B
org.eclipse.wst.common.component 323B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.jsdt.ui.superType.container 49B
product.css 26KB
productView.css 23KB
index.css 18KB
register.css 15KB
header.css 13KB
login.css 13KB
base.css 556B
.gitignore 268B
.gitignore 268B
.gitignore 268B
.gitignore 268B
.gitignore 268B
Innisfree-product.html 78KB
Innisfree-productView.html 52KB
Innisfree-index.html 40KB
Innisfree-register.html 38KB
Innisfree-login.html 28KB
maven-wrapper.jar 46KB
maven-wrapper.jar 46KB
maven-wrapper.jar 46KB
maven-wrapper.jar 46KB
maven-wrapper.jar 46KB
inni-common-0.0.1-SNAPSHOT.jar 22B
RedisConfig.java 4KB
UserController.java 3KB
UserServiceImpl.java 2KB
UserController.java 2KB
Item.java 2KB
ItemController.java 2KB
JsonResult.java 1KB
ItemServiceImpl.java 1KB
User.java 1KB
ItemController.java 1KB
InniUserApplicationTests.java 1KB
UserService.java 968B
ItemService.java 774B
UserMapper.java 691B
InniWebApplication.java 569B
InniUserApplication.java 550B
ItemMapper.java 511B
IndexController.java 502B
BasePojo.java 499B
InniItemApplication.java 472B
InniServerApplication.java 403B
ServletInitializer.java 400B
ServletInitializer.java 400B
ServletInitializer.java 399B
InniItemApplicationTests.java 336B
InniWebApplicationTests.java 334B
ItemService.java 262B
UserService.java 237B
jquery-3.2.1.min.js 85KB
inni_product.js 11KB
inni_productView.js 9KB
inni_register.js 4KB
header.js 4KB
inni_login.js 2KB
cookie.js 968B
.jsdtscope 572B
共 200 条
- 1
- 2
资源评论
源码头
- 粉丝: 255
- 资源: 504
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功