93 lines
3.1 KiB
Java
93 lines
3.1 KiB
Java
|
|
package com.sipai.config;
|
|||
|
|
|
|||
|
|
import org.redisson.Redisson;
|
|||
|
|
import org.redisson.api.RedissonClient;
|
|||
|
|
import org.redisson.client.codec.Codec;
|
|||
|
|
import org.redisson.codec.JsonJacksonCodec;
|
|||
|
|
import org.redisson.config.Config;
|
|||
|
|
import org.redisson.config.SingleServerConfig;
|
|||
|
|
import org.springframework.beans.factory.annotation.Value;
|
|||
|
|
import org.springframework.context.annotation.Bean;
|
|||
|
|
import org.springframework.context.annotation.Configuration;
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @Author : YYJ
|
|||
|
|
* @CreateTime : 2021/9/14
|
|||
|
|
* @Description :
|
|||
|
|
**/
|
|||
|
|
@Configuration
|
|||
|
|
public class RedissonConfig {
|
|||
|
|
private static String MODE_SINGLE = "single";
|
|||
|
|
private static String MODE_CLUSTER = "cluster";
|
|||
|
|
@Value("${redis.mode}")
|
|||
|
|
public String mode;
|
|||
|
|
@Value("${redis.host}")
|
|||
|
|
public String host;
|
|||
|
|
|
|||
|
|
@Value("${redis.port}")
|
|||
|
|
public String port;
|
|||
|
|
|
|||
|
|
// @Value("${redis.database}")
|
|||
|
|
// public String database;
|
|||
|
|
|
|||
|
|
@Value("${redis.password}")
|
|||
|
|
public String password;
|
|||
|
|
|
|||
|
|
@Value("${cluster1.host.port:}")
|
|||
|
|
public String cluster1;
|
|||
|
|
@Value("${cluster2.host.port:}")
|
|||
|
|
public String cluster2;
|
|||
|
|
@Value("${cluster3.host.port:}")
|
|||
|
|
public String cluster3;
|
|||
|
|
@Value("${cluster4.host.port:}")
|
|||
|
|
public String cluster4;
|
|||
|
|
@Value("${cluster5.host.port:}")
|
|||
|
|
public String cluster5;
|
|||
|
|
@Value("${cluster6.host.port:}")
|
|||
|
|
public String cluster6;
|
|||
|
|
|
|||
|
|
@Bean
|
|||
|
|
public RedissonClient redissonClient(){
|
|||
|
|
RedissonClient redisson = null;
|
|||
|
|
Config conf = new Config();
|
|||
|
|
|
|||
|
|
if(MODE_SINGLE.equals(mode)) {//单机
|
|||
|
|
//单节点模式
|
|||
|
|
SingleServerConfig singleServerConfig = conf.useSingleServer();
|
|||
|
|
//设置连接地址:redis://127.0.0.1:6379
|
|||
|
|
singleServerConfig.setAddress("redis://" + host + ":" + port);
|
|||
|
|
//设置连接密码
|
|||
|
|
singleServerConfig.setPassword(password);
|
|||
|
|
// singleServerConfig.setDatabase(Integer.valueOf(database));
|
|||
|
|
}else if(MODE_CLUSTER.equals(mode)){//集群
|
|||
|
|
conf.useClusterServers()
|
|||
|
|
.setScanInterval(2000);
|
|||
|
|
if(cluster1!=null && !cluster1.isEmpty()){
|
|||
|
|
conf.useClusterServers().addNodeAddress("redis://" + cluster1);
|
|||
|
|
}
|
|||
|
|
if(cluster2!=null && !cluster2.isEmpty()){
|
|||
|
|
conf.useClusterServers().addNodeAddress("redis://" + cluster2);
|
|||
|
|
}
|
|||
|
|
if(cluster3!=null && !cluster3.isEmpty()){
|
|||
|
|
conf.useClusterServers().addNodeAddress("redis://" + cluster3);
|
|||
|
|
}
|
|||
|
|
if(cluster4!=null && !cluster4.isEmpty()){
|
|||
|
|
conf.useClusterServers().addNodeAddress("redis://" + cluster4);
|
|||
|
|
}
|
|||
|
|
if(cluster5!=null && !cluster5.isEmpty()){
|
|||
|
|
conf.useClusterServers().addNodeAddress("redis://" + cluster5);
|
|||
|
|
}
|
|||
|
|
if(cluster6!=null && !cluster6.isEmpty()){
|
|||
|
|
conf.useClusterServers().addNodeAddress("redis://" + cluster6);
|
|||
|
|
}
|
|||
|
|
// .setPassword(password);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//使用json序列化方式
|
|||
|
|
Codec codec = new JsonJacksonCodec();
|
|||
|
|
conf.setCodec(codec);
|
|||
|
|
redisson = Redisson.create(conf);
|
|||
|
|
return redisson;
|
|||
|
|
}
|
|||
|
|
}
|