Skip to content

Commit 7644118

Browse files
committed
feat: update conf (#466)
1 parent d29668d commit 7644118

16 files changed

Lines changed: 91 additions & 163 deletions

File tree

camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/cluster/ClusterModeConfig.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,23 @@
88
public class ClusterModeConfig {
99

1010
public static int clusterModeHeartbeatIntervalSeconds() {
11-
return ProxyDynamicConf.getInt("proxy.cluster.mode.heartbeat.interval.seconds", 5);
11+
return ProxyDynamicConf.getInt("cluster.mode.heartbeat.interval.seconds", 5);
1212
}
1313

1414
public static int clusterModeRefreshNodesIntervalSeconds() {
15-
return ProxyDynamicConf.getInt("proxy.cluster.mode.refresh.nodes.interval.seconds", 60);
15+
return ProxyDynamicConf.getInt("cluster.mode.refresh.nodes.interval.seconds", 60);
1616
}
1717

1818
public static boolean clusterModeCommandMoveEnable() {
19-
return ProxyDynamicConf.getBoolean("proxy.cluster.mode.command.move.enable", true);
19+
return ProxyDynamicConf.getBoolean("cluster.mode.command.move.enable", true);
2020
}
2121

2222
public static int clusterModeCommandMoveIntervalSeconds() {
23-
return ProxyDynamicConf.getInt("proxy.cluster.mode.command.move.interval.seconds", 30);
23+
return ProxyDynamicConf.getInt("cluster.mode.command.move.interval.seconds", 30);
2424
}
2525

2626
public static boolean clusterModeCommandMoveAlways() {
27-
return ProxyDynamicConf.getBoolean("proxy.cluster.mode.command.move.always", false);
27+
return ProxyDynamicConf.getBoolean("cluster.mode.command.move.always", false);
2828
}
2929

3030
public static long clusterModeCommandMoveDelayMillis() {

camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/netty/CamelliaRedisProxyServer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import com.netease.nim.camellia.redis.proxy.enums.ProxyMode;
66
import com.netease.nim.camellia.redis.proxy.http.CamelliaRedisProxyHttpServer;
77
import com.netease.nim.camellia.redis.proxy.info.ProxyInfoUtils;
8-
import com.netease.nim.camellia.redis.proxy.tls.frontend.ProxyFrontendTlsProvider;
8+
import com.netease.nim.camellia.redis.proxy.tls.frontend.ServerTlsProvider;
99
import com.netease.nim.camellia.redis.proxy.util.ConfigInitUtil;
1010
import com.netease.nim.camellia.redis.proxy.util.SocketUtils;
1111
import com.netease.nim.camellia.redis.proxy.util.Utils;
@@ -39,7 +39,7 @@ public class CamelliaRedisProxyServer {
3939
public void start() throws Exception {
4040
ServerBootstrap bootstrap = new ServerBootstrap();
4141
final boolean sslEnable;
42-
ProxyFrontendTlsProvider proxyFrontendTlsProvider;
42+
ServerTlsProvider proxyFrontendTlsProvider;
4343
int tlsPort = ServerConf.tlsPort();
4444
if (tlsPort > 0) {
4545
proxyFrontendTlsProvider = ConfigInitUtil.initProxyFrontendTlsProvider();

camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/tls/frontend/DefaultProxyFrontendTlsProvider.java renamed to camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/tls/frontend/DefaultServerTlsProvider.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
/**
1818
* Created by caojiajun on 2023/8/9
1919
*/
20-
public class DefaultProxyFrontendTlsProvider implements ProxyFrontendTlsProvider {
20+
public class DefaultServerTlsProvider implements ServerTlsProvider {
2121

2222
private SSLContext sslContext;
2323
private boolean startTls = false;
@@ -26,14 +26,14 @@ public class DefaultProxyFrontendTlsProvider implements ProxyFrontendTlsProvider
2626
@Override
2727
public boolean init() {
2828
createSSLContext();
29-
this.startTls = ProxyDynamicConf.getBoolean("proxy.frontend.tls.startTls.enable", false);
30-
int poolSize = ProxyDynamicConf.getInt("proxy.frontend.tls.executor.pool.size", 0);
31-
int queueSize = ProxyDynamicConf.getInt("proxy.frontend.tls.executor.queue.size", 10240);
29+
this.startTls = ProxyDynamicConf.getBoolean("server.tls.startTls.enable", false);
30+
int poolSize = ProxyDynamicConf.getInt("server.tls.executor.pool.size", 0);
31+
int queueSize = ProxyDynamicConf.getInt("server.tls.executor.queue.size", 10240);
3232
if (poolSize <= 0) {
3333
this.executor = ImmediateExecutor.INSTANCE;
3434
} else {
3535
this.executor = new ThreadPoolExecutor(poolSize, poolSize, 0, TimeUnit.SECONDS,
36-
new LinkedBlockingQueue<>(queueSize), new DefaultThreadFactory("proxy-frontend-tls-executor"),
36+
new LinkedBlockingQueue<>(queueSize), new DefaultThreadFactory("server-tls-executor"),
3737
new ThreadPoolExecutor.CallerRunsPolicy());
3838
}
3939
return true;
@@ -42,36 +42,36 @@ public boolean init() {
4242
@Override
4343
public SslHandler createSslHandler() {
4444
SSLEngine sslEngine = sslContext.createSSLEngine();
45-
String needClientAuth = ProxyDynamicConf.getString("proxy.frontend.tls.need.client.auth", "true");
45+
String needClientAuth = ProxyDynamicConf.getString("server.tls.need.client.auth", "true");
4646
if (needClientAuth != null) {
4747
if (needClientAuth.equalsIgnoreCase("true")) {
4848
sslEngine.setNeedClientAuth(true);
4949
} else if (needClientAuth.equalsIgnoreCase("false")) {
5050
sslEngine.setNeedClientAuth(false);
5151
}
5252
}
53-
String wantClientAuth = ProxyDynamicConf.getString("proxy.frontend.tls.want.client.auth", "");
53+
String wantClientAuth = ProxyDynamicConf.getString("server.tls.want.client.auth", "");
5454
if (wantClientAuth != null) {
5555
if (wantClientAuth.equalsIgnoreCase("true")) {
5656
sslEngine.setWantClientAuth(true);
5757
} else if (wantClientAuth.equalsIgnoreCase("false")) {
5858
sslEngine.setWantClientAuth(false);
5959
}
6060
}
61-
String enableSessionCreation = ProxyDynamicConf.getString("proxy.frontend.tls.enable.session.creation", "");
61+
String enableSessionCreation = ProxyDynamicConf.getString("server.tls.enable.session.creation", "");
6262
if (enableSessionCreation != null) {
6363
if (enableSessionCreation.equalsIgnoreCase("true")) {
6464
sslEngine.setEnableSessionCreation(true);
6565
} else if (enableSessionCreation.equalsIgnoreCase("false")) {
6666
sslEngine.setEnableSessionCreation(false);
6767
}
6868
}
69-
String enabledProtocols = ProxyDynamicConf.getString("proxy.frontend.tls.enable.protocols", "");
69+
String enabledProtocols = ProxyDynamicConf.getString("server.tls.enable.protocols", "");
7070
if (enabledProtocols != null && !enabledProtocols.trim().isEmpty()) {
7171
String[] protocols = enabledProtocols.split(",");
7272
sslEngine.setEnabledProtocols(protocols);
7373
}
74-
String enabledCipherSuites = ProxyDynamicConf.getString("proxy.frontend.tls.enable.cipher.suites", "");
74+
String enabledCipherSuites = ProxyDynamicConf.getString("server.tls.enable.cipher.suites", "");
7575
if (enabledCipherSuites != null && !enabledCipherSuites.trim().isEmpty()) {
7676
String[] cipherSuites = enabledCipherSuites.split(",");
7777
sslEngine.setEnabledCipherSuites(cipherSuites);
@@ -82,33 +82,33 @@ public SslHandler createSslHandler() {
8282

8383
private void createSSLContext() {
8484
String caCertFilePath;
85-
String caCertFile = ProxyDynamicConf.getString("proxy.frontend.tls.ca.cert.file", null);
85+
String caCertFile = ProxyDynamicConf.getString("server.tls.ca.cert.file", null);
8686
if (caCertFile == null) {
87-
caCertFilePath = ProxyDynamicConf.getString("proxy.frontend.tls.ca.cert.file.path", null);
87+
caCertFilePath = ProxyDynamicConf.getString("server.tls.ca.cert.file.path", null);
8888
} else {
8989
caCertFilePath = FileUtils.getClasspathFilePath(caCertFile);
9090
}
9191
String crtFilePath;
92-
String crtFile = ProxyDynamicConf.getString("proxy.frontend.tls.cert.file", null);
92+
String crtFile = ProxyDynamicConf.getString("server.tls.cert.file", null);
9393
if (crtFile == null) {
94-
crtFilePath = ProxyDynamicConf.getString("proxy.frontend.tls.cert.file.path", null);
94+
crtFilePath = ProxyDynamicConf.getString("server.tls.cert.file.path", null);
9595
} else {
9696
crtFilePath = FileUtils.getClasspathFilePath(crtFile);
9797
}
9898
if (crtFilePath == null) {
9999
throw new IllegalArgumentException("crtFilePath not found");
100100
}
101101
String keyFilePath;
102-
String keyFile = ProxyDynamicConf.getString("proxy.frontend.tls.key.file", null);
102+
String keyFile = ProxyDynamicConf.getString("server.tls.key.file", null);
103103
if (keyFile == null) {
104-
keyFilePath = ProxyDynamicConf.getString("proxy.frontend.tls.key.file.path", null);
104+
keyFilePath = ProxyDynamicConf.getString("server.tls.key.file.path", null);
105105
} else {
106106
keyFilePath = FileUtils.getClasspathFilePath(keyFile);
107107
}
108108
if (keyFilePath == null) {
109109
throw new IllegalArgumentException("keyFilePath not found");
110110
}
111-
String password = ProxyDynamicConf.getString("proxy.frontend.tls.password", null);
111+
String password = ProxyDynamicConf.getString("server.tls.password", null);
112112
this.sslContext = SSLContextUtil.genSSLContext(caCertFilePath, crtFilePath, keyFilePath, password);
113113
}
114114

camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/tls/frontend/ProxyFrontendTlsProvider.java renamed to camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/tls/frontend/ServerTlsProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
/**
77
* Created by caojiajun on 2023/8/9
88
*/
9-
public interface ProxyFrontendTlsProvider {
9+
public interface ServerTlsProvider {
1010

1111
boolean init();
1212

camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/tls/upstream/DefaultProxyUpstreamTlsProvider.java renamed to camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/tls/upstream/DefaultUpstreamTlsProvider.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
/**
2323
* Created by caojiajun on 2023/8/9
2424
*/
25-
public class DefaultProxyUpstreamTlsProvider implements ProxyUpstreamTlsProvider {
25+
public class DefaultUpstreamTlsProvider implements UpstreamTlsProvider {
2626

27-
private static final Logger logger = LoggerFactory.getLogger(DefaultProxyUpstreamTlsProvider.class);
27+
private static final Logger logger = LoggerFactory.getLogger(DefaultUpstreamTlsProvider.class);
2828

2929
private SSLContext defaultSSLContext;
3030
private final ConcurrentHashMap<String, SSLContext> sslContextMap = new ConcurrentHashMap<>();
@@ -35,14 +35,14 @@ public class DefaultProxyUpstreamTlsProvider implements ProxyUpstreamTlsProvider
3535
public boolean init() {
3636
reload();
3737
ProxyDynamicConf.registerCallback(this::reload);
38-
this.startTls = ProxyDynamicConf.getBoolean("proxy.upstream.tls.startTls.enable", false);
39-
int poolSize = ProxyDynamicConf.getInt("proxy.upstream.tls.executor.pool.size", 0);
40-
int queueSize = ProxyDynamicConf.getInt("proxy.upstream.tls.executor.queue.size", 10240);
38+
this.startTls = ProxyDynamicConf.getBoolean("upstream.tls.startTls.enable", false);
39+
int poolSize = ProxyDynamicConf.getInt("upstream.tls.executor.pool.size", 0);
40+
int queueSize = ProxyDynamicConf.getInt("upstream.tls.executor.queue.size", 10240);
4141
if (poolSize <= 0) {
4242
this.executor = ImmediateExecutor.INSTANCE;
4343
} else {
4444
this.executor = new ThreadPoolExecutor(poolSize, poolSize, 0, TimeUnit.SECONDS,
45-
new LinkedBlockingQueue<>(queueSize), new DefaultThreadFactory("proxy-upstream-tls-executor"),
45+
new LinkedBlockingQueue<>(queueSize), new DefaultThreadFactory("upstream-tls-executor"),
4646
new ThreadPoolExecutor.CallerRunsPolicy());
4747
}
4848
return true;
@@ -74,7 +74,7 @@ private synchronized void reload() {
7474
logger.error("init default SSLContext error", e);
7575
}
7676
}
77-
String string = ProxyDynamicConf.getString("proxy.upstream.tls.config", null);
77+
String string = ProxyDynamicConf.getString("upstream.tls.config", null);
7878
if (string != null) {
7979
JSONArray array = JSONArray.parseArray(string);
8080
for (Object o : array) {
@@ -136,30 +136,30 @@ private synchronized void reload() {
136136

137137
private void initDefaultSSLContext() {
138138
String caCertFilePath;
139-
String caFile = ProxyDynamicConf.getString("proxy.upstream.tls.ca.cert.file", null);
139+
String caFile = ProxyDynamicConf.getString("upstream.tls.ca.cert.file", null);
140140
if (caFile == null) {
141-
caCertFilePath = ProxyDynamicConf.getString("proxy.upstream.tls.ca.cert.file.path", null);
141+
caCertFilePath = ProxyDynamicConf.getString("upstream.tls.ca.cert.file.path", null);
142142
} else {
143143
caCertFilePath = FileUtils.getClasspathFilePath(caFile);
144144
}
145145
if (caCertFilePath == null) {
146146
return;
147147
}
148148
String certFilePath;
149-
String crtFile = ProxyDynamicConf.getString("proxy.upstream.tls.cert.file", null);
149+
String crtFile = ProxyDynamicConf.getString("upstream.tls.cert.file", null);
150150
if (crtFile == null) {
151-
certFilePath = ProxyDynamicConf.getString("proxy.upstream.tls.cert.file.path", null);
151+
certFilePath = ProxyDynamicConf.getString("upstream.tls.cert.file.path", null);
152152
} else {
153153
certFilePath = FileUtils.getClasspathFilePath(crtFile);
154154
}
155155
String keyFilePath;
156-
String keyFile = ProxyDynamicConf.getString("proxy.upstream.tls.key.file", null);
156+
String keyFile = ProxyDynamicConf.getString("upstream.tls.key.file", null);
157157
if (keyFile == null) {
158-
keyFilePath = ProxyDynamicConf.getString("proxy.upstream.tls.key.file.path", null);
158+
keyFilePath = ProxyDynamicConf.getString("upstream.tls.key.file.path", null);
159159
} else {
160160
keyFilePath = FileUtils.getClasspathFilePath(keyFile);
161161
}
162-
String password = ProxyDynamicConf.getString("proxy.upstream.tls.password", null);
162+
String password = ProxyDynamicConf.getString("upstream.tls.password", null);
163163
defaultSSLContext = SSLContextUtil.genSSLContext(caCertFilePath, certFilePath, keyFilePath, password);
164164
logger.info("proxy upstream default SSLContext init success, caFilePath = {}, crtFilePath = {}, keyFilePath = {}",
165165
caCertFilePath, certFilePath, keyFilePath);

camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/tls/upstream/ProxyUpstreamTlsProvider.java renamed to camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/tls/upstream/UpstreamTlsProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
/**
88
* Created by caojiajun on 2023/8/9
99
*/
10-
public interface ProxyUpstreamTlsProvider {
10+
public interface UpstreamTlsProvider {
1111

1212
boolean init();
1313

camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/upstream/connection/RedisConnectionConfig.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.netease.nim.camellia.redis.proxy.upstream.connection;
22

33
import com.netease.nim.camellia.core.model.Resource;
4-
import com.netease.nim.camellia.redis.proxy.tls.upstream.ProxyUpstreamTlsProvider;
4+
import com.netease.nim.camellia.redis.proxy.tls.upstream.UpstreamTlsProvider;
55
import com.netease.nim.camellia.redis.proxy.upstream.IUpstreamClient;
66
import io.netty.channel.EventLoop;
77

@@ -37,7 +37,7 @@ public class RedisConnectionConfig {
3737

3838
private FastFailStats fastFailStats;
3939

40-
private ProxyUpstreamTlsProvider proxyUpstreamTlsProvider;
40+
private UpstreamTlsProvider proxyUpstreamTlsProvider;
4141

4242
private IUpstreamClient upstreamClient;
4343

@@ -221,11 +221,11 @@ public void setFastFailStats(FastFailStats fastFailStats) {
221221
this.fastFailStats = fastFailStats;
222222
}
223223

224-
public ProxyUpstreamTlsProvider getProxyUpstreamTlsProvider() {
224+
public UpstreamTlsProvider getProxyUpstreamTlsProvider() {
225225
return proxyUpstreamTlsProvider;
226226
}
227227

228-
public void setProxyUpstreamTlsProvider(ProxyUpstreamTlsProvider proxyUpstreamTlsProvider) {
228+
public void setProxyUpstreamTlsProvider(UpstreamTlsProvider proxyUpstreamTlsProvider) {
229229
this.proxyUpstreamTlsProvider = proxyUpstreamTlsProvider;
230230
}
231231

camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/upstream/connection/RedisConnectionHub.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import com.netease.nim.camellia.redis.proxy.enums.RedisCommand;
77
import com.netease.nim.camellia.redis.proxy.netty.ChannelType;
88
import com.netease.nim.camellia.redis.proxy.reply.Reply;
9-
import com.netease.nim.camellia.redis.proxy.tls.upstream.ProxyUpstreamTlsProvider;
9+
import com.netease.nim.camellia.redis.proxy.tls.upstream.UpstreamTlsProvider;
1010
import com.netease.nim.camellia.redis.proxy.tls.upstream.TlsEnableCache;
1111
import com.netease.nim.camellia.redis.proxy.upstream.IUpstreamClient;
1212
import com.netease.nim.camellia.tools.utils.CamelliaMapUtils;
@@ -63,7 +63,7 @@ public class RedisConnectionHub {
6363

6464
private final ConcurrentHashMap<Object, LockMap> lockMapMap = new ConcurrentHashMap<>();
6565

66-
private ProxyUpstreamTlsProvider tlsProvider;
66+
private UpstreamTlsProvider tlsProvider;
6767
private UpstreamAddrConverter upstreamAddrConverter;
6868

6969
public static RedisConnectionHub instance = new RedisConnectionHub();

camellia-redis-proxy/camellia-redis-proxy-core/src/main/java/com/netease/nim/camellia/redis/proxy/util/ConfigInitUtil.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717
import com.netease.nim.camellia.redis.proxy.sentinel.DefaultSentinelModeProvider;
1818
import com.netease.nim.camellia.redis.proxy.sentinel.SentinelModeProvider;
1919
import com.netease.nim.camellia.redis.proxy.sentinel.SentinelModeProcessor;
20-
import com.netease.nim.camellia.redis.proxy.tls.frontend.DefaultProxyFrontendTlsProvider;
21-
import com.netease.nim.camellia.redis.proxy.tls.frontend.ProxyFrontendTlsProvider;
22-
import com.netease.nim.camellia.redis.proxy.tls.upstream.DefaultProxyUpstreamTlsProvider;
23-
import com.netease.nim.camellia.redis.proxy.tls.upstream.ProxyUpstreamTlsProvider;
20+
import com.netease.nim.camellia.redis.proxy.tls.frontend.DefaultServerTlsProvider;
21+
import com.netease.nim.camellia.redis.proxy.tls.frontend.ServerTlsProvider;
22+
import com.netease.nim.camellia.redis.proxy.tls.upstream.DefaultUpstreamTlsProvider;
23+
import com.netease.nim.camellia.redis.proxy.tls.upstream.UpstreamTlsProvider;
2424
import com.netease.nim.camellia.redis.proxy.upstream.IUpstreamClientTemplateFactory;
2525
import com.netease.nim.camellia.redis.proxy.upstream.UpstreamRedisClientTemplateFactory;
2626
import com.netease.nim.camellia.redis.proxy.upstream.connection.DefaultUpstreamAddrConverter;
@@ -97,19 +97,19 @@ public static CamelliaDiscoveryFactory initProxyDiscoveryFactory() {
9797
return null;
9898
}
9999

100-
public static ProxyFrontendTlsProvider initProxyFrontendTlsProvider() {
101-
String className = BeanInitUtils.getClassName("proxy.frontend.tls.provider", DefaultProxyFrontendTlsProvider.class.getName());
100+
public static ServerTlsProvider initProxyFrontendTlsProvider() {
101+
String className = BeanInitUtils.getClassName("server.tls.provider", DefaultServerTlsProvider.class.getName());
102102
if (className != null) {
103103
ProxyBeanFactory proxyBeanFactory = ServerConf.getProxyBeanFactory();
104-
return (ProxyFrontendTlsProvider) proxyBeanFactory.getBean(BeanInitUtils.parseClass(className));
104+
return (ServerTlsProvider) proxyBeanFactory.getBean(BeanInitUtils.parseClass(className));
105105
}
106106
return null;
107107
}
108108

109-
public static ProxyUpstreamTlsProvider initProxyUpstreamTlsProvider() {
110-
String className = BeanInitUtils.getClassName("proxy.upstream.tls.provider", DefaultProxyUpstreamTlsProvider.class.getName());
109+
public static UpstreamTlsProvider initProxyUpstreamTlsProvider() {
110+
String className = BeanInitUtils.getClassName("upstream.tls.provider", DefaultUpstreamTlsProvider.class.getName());
111111
if (className != null) {
112-
return (ProxyUpstreamTlsProvider) ServerConf.getProxyBeanFactory().getBean(BeanInitUtils.parseClass(className));
112+
return (UpstreamTlsProvider) ServerConf.getProxyBeanFactory().getBean(BeanInitUtils.parseClass(className));
113113
}
114114
return null;
115115
}

docs/camellia-redis-client/spring-boot-starter.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,20 @@
22
## 使用spring-boot-starter来使用CamelliaRedisTemplate
33

44
### maven依赖
5-
* 底层依赖jedis-2.9.3
65
```
76
<dependency>
87
<groupId>com.netease.nim</groupId>
98
<artifactId>camellia-redis-spring-boot-starter</artifactId>
10-
<version>1.3.7</version>
9+
<version>1.4.0-SNAPSHOT</version>
1110
</dependency>
1211
```
13-
* 底层依赖jedis-3.6.3
1412
```
15-
<dependency>
16-
<groupId>com.netease.nim</groupId>
17-
<artifactId>camellia-redis3-spring-boot-starter</artifactId>
18-
<version>1.3.7</version>
19-
</dependency>
13+
camellia-redis-spring-boot-starter
14+
camellia-redis-spring-boot3-starter
15+
camellia-redis3-spring-boot-starter
16+
camellia-redis3-spring-boot3-starter
17+
camellia-redis5-spring-boot-starter
18+
camellia-redis5-spring-boot3-starter
2019
```
2120

2221
### 自动注入

0 commit comments

Comments
 (0)