Skip to content

Commit

Permalink
Split cluster and standalone jedis clients
Browse files Browse the repository at this point in the history
Signed-off-by: Andrew Carbonetto <[email protected]>
  • Loading branch information
acarbonetto committed Feb 15, 2024
1 parent 53c247f commit ab0b3b3
Showing 1 changed file with 12 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.util.JedisClusterCRC16;

/** A Jedis client with sync capabilities. See: https://github.com/redis/jedis */
public class JedisClient implements SyncClient {
Expand All @@ -28,14 +27,6 @@ public String getName() {
return "Jedis";
}

private Jedis getConnection(String key) {
if (isClusterMode) {
return new Jedis(jedisCluster.getConnectionFromSlot(JedisClusterCRC16.getSlot(key)));
} else {
return jedisPool.getResource();
}
}

@Override
public void connectToRedis(ConnectionSettings connectionSettings) {
isClusterMode = connectionSettings.clusterMode;
Expand All @@ -51,15 +42,23 @@ public void connectToRedis(ConnectionSettings connectionSettings) {

@Override
public void set(String key, String value) {
try (Jedis jedis = getConnection(key)) {
jedis.set(key, value);
if (isClusterMode) {
jedisCluster.set(key, value);
} else {
try (Jedis jedis = jedisPool.getResource()) {
jedis.set(key, value);
}
}
}

@Override
public String get(String key) {
try (Jedis jedis = getConnection(key)) {
return jedis.get(key);
if (isClusterMode) {
return jedisCluster.get(key);
} else {
try (Jedis jedis = jedisPool.getResource()) {
return jedis.get(key);
}
}
}
}

0 comments on commit ab0b3b3

Please sign in to comment.