Skip to content

Commit

Permalink
Merge branch 'redis-cluster-changes' into pre-release
Browse files Browse the repository at this point in the history
  • Loading branch information
bhargavprajapatiFynd committed Apr 5, 2024
2 parents ff05625 + 0559e40 commit b8ed1b6
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 23 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
</parent>
<groupId>com.fynd</groupId>
<artifactId>fynd-extension-java</artifactId>
<version>0.6.1</version>
<version>0.6.1-beta.2</version>
<name>fynd-extension-java</name>
<description>Java Fynd Extension Library</description>
<properties>
Expand Down
79 changes: 57 additions & 22 deletions src/main/java/com/fynd/extension/storage/RedisStorage.java
Original file line number Diff line number Diff line change
@@ -1,69 +1,104 @@
package com.fynd.extension.storage;


import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import redis.clients.jedis.*;
import java.util.Map;

public class RedisStorage extends BaseStorage {

private JedisPool pool;

private boolean isClusterMode;
private JedisPool jedisPool;
private JedisCluster jedisCluster;
private String prefixKey;

public RedisStorage(JedisPool pool, String prefixKey) {
public RedisStorage(JedisPool jedisPool, String prefixKey) {
super(prefixKey);
this.jedisPool = jedisPool;
this.prefixKey = prefixKey;
this.isClusterMode = false;
}

public RedisStorage(JedisCluster jedisCluster, String prefixKey) {
super(prefixKey);
this.pool = pool;
this.jedisCluster = jedisCluster;
this.prefixKey = prefixKey;
this.isClusterMode = true;
}

@Override
public String get(String key) {

try (Jedis client = pool.getResource()) {
return client.get(super.prefixKey + key);
if (isClusterMode) {
return jedisCluster.get(super.prefixKey + key);
} else {
try (Jedis jedis = jedisPool.getResource()) {
return jedis.get(super.prefixKey + key);
}
}
}

@Override
public String set(String key, String value) {
try (Jedis client = pool.getResource()) {
return client.set(super.prefixKey + key, value);
if (isClusterMode) {
return jedisCluster.set(super.prefixKey + key, value);
} else {
try (Jedis jedis = jedisPool.getResource()) {
return jedis.set(super.prefixKey + key, value);
}
}
}

@Override
public Long del(String key) {
try (Jedis client = pool.getResource()) {
return client.del(super.prefixKey + key);
if (isClusterMode) {
return jedisCluster.del(super.prefixKey + key);
} else {
try (Jedis jedis = jedisPool.getResource()) {
return jedis.del(super.prefixKey + key);
}
}
}

@Override
public String setex(String key, int ttl, String value) {
try (Jedis client = pool.getResource()) {
return client.setex(super.prefixKey + key, ttl, value);
if (isClusterMode) {
return jedisCluster.setex(super.prefixKey + key, ttl, value);
} else {
try (Jedis jedis = jedisPool.getResource()) {
return jedis.setex(super.prefixKey + key, ttl, value);
}
}
}

@Override
public String hget(String key, String hashKey) {
try (Jedis client = pool.getResource()) {
return client.hget(super.prefixKey + key, hashKey);
if (isClusterMode) {
return jedisCluster.hget(super.prefixKey + key, hashKey);
} else {
try (Jedis jedis = jedisPool.getResource()) {
return jedis.hget(super.prefixKey + key, hashKey);
}
}
}

@Override
public Long hset(String key, String hashKey, String value) {
try (Jedis client = pool.getResource()) {
return client.hset(super.prefixKey + key, hashKey, value);
if (isClusterMode) {
return jedisCluster.hset(super.prefixKey + key, hashKey, value);
} else {
try (Jedis jedis = jedisPool.getResource()) {
return jedis.hset(super.prefixKey + key, hashKey, value);
}
}
}

@Override
public Map<String, Object> hgetall(String key) {
try (Jedis client = pool.getResource()) {
return (Map<String, Object>) (Map) client.hgetAll(super.prefixKey + key);
if (isClusterMode) {
return (Map<String, Object>) (Map) jedisCluster.hgetAll(super.prefixKey + key);
} else {
try (Jedis jedis = jedisPool.getResource()) {
return (Map<String, Object>) (Map) jedis.hgetAll(super.prefixKey + key);
}
}
}
}

0 comments on commit b8ed1b6

Please sign in to comment.