Skip to content

Commit

Permalink
redis client update
Browse files Browse the repository at this point in the history
  • Loading branch information
Alonexc committed Apr 10, 2024
1 parent e12f946 commit 28b43ac
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,23 @@

package org.apache.eventmesh.dashboard.core.function.SDK.config;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CreateRedisConfig implements CreateSDKConfig {

private String redisUrl;

private String password;

private Integer timeOut;

@Override
public String getUniqueKey() {
return redisUrl;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,28 @@
import org.apache.eventmesh.dashboard.core.function.SDK.config.CreateRedisConfig;
import org.apache.eventmesh.dashboard.core.function.SDK.config.CreateSDKConfig;

import java.time.Duration;
import java.util.AbstractMap.SimpleEntry;

import io.lettuce.core.RedisClient;
import io.lettuce.core.RedisURI;
import io.lettuce.core.api.StatefulRedisConnection;

public class RedisSDKOperation extends AbstractSDKOperation<StatefulRedisConnection<String, String>> {

@Override
public SimpleEntry<String, StatefulRedisConnection<String, String>> createClient(CreateSDKConfig clientConfig) {
String redisUrl = ((CreateRedisConfig) clientConfig).getRedisUrl();
RedisClient redisClient = RedisClient.create(redisUrl);
CreateRedisConfig redisConfig = (CreateRedisConfig) clientConfig;
String redisUrl = redisConfig.getRedisUrl();
String clientHost = redisUrl.split(":")[0];
int clientPort = Integer.parseInt(redisUrl.split(":")[1]);
RedisURI redisURI = RedisURI.builder()
.withHost(clientHost)
.withPort(clientPort)
.withPassword(redisConfig.getPassword())
.withTimeout(Duration.ofSeconds(redisConfig.getTimeOut()))
.build();
RedisClient redisClient = RedisClient.create(redisURI);
return new SimpleEntry<>(clientConfig.getUniqueKey(), redisClient.connect());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,16 @@ class RedisSDKCreateOperationTest {

@Test
void testCreateClient() {
CreateRedisConfig createClientConfig = new CreateRedisConfig();
createClientConfig.setRedisUrl("redis://localhost:6379");
CreateRedisConfig createClientConfig = CreateRedisConfig.builder()
.redisUrl("localhost:6379")
.password("")
.timeOut(5)
.build();
// createClientConfig.setRedisUrl("redis://localhost:6379");
SimpleEntry<String, StatefulRedisConnection<String, String>> simpleEntry = null;
try {
simpleEntry = redisClientCreateOperation.createClient(createClientConfig);
assertEquals("redis://localhost:6379", simpleEntry.getKey());
assertEquals("localhost:6379", simpleEntry.getKey());
String response = simpleEntry.getValue().sync().ping();
log.info("response:{}", response);
simpleEntry.getValue().close();
Expand Down

0 comments on commit 28b43ac

Please sign in to comment.