Files
SIPAIIS_WMS_JSSW/src/main/java/com/sipai/config/RedissonConfig.java

93 lines
3.1 KiB
Java
Raw Normal View History

2026-01-16 14:13:44 +08:00
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;
}
}