All Downloads are FREE. Search and download functionalities are using the official Maven repository.

redis.clients.jedis.ShardedJedis Maven / Gradle / Ivy

package redis.clients.jedis;

import java.io.Closeable;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.regex.Pattern;

import redis.clients.jedis.commands.JedisCommands;
import redis.clients.jedis.commands.ProtocolCommand;
import redis.clients.jedis.params.GeoAddParams;
import redis.clients.jedis.params.GeoRadiusParam;
import redis.clients.jedis.params.GetExParams;
import redis.clients.jedis.params.RestoreParams;
import redis.clients.jedis.params.SetParams;
import redis.clients.jedis.params.StrAlgoLCSParams;
import redis.clients.jedis.params.XAddParams;
import redis.clients.jedis.params.XAutoClaimParams;
import redis.clients.jedis.params.XClaimParams;
import redis.clients.jedis.params.XPendingParams;
import redis.clients.jedis.params.XTrimParams;
import redis.clients.jedis.params.ZAddParams;
import redis.clients.jedis.params.ZIncrByParams;
import redis.clients.jedis.params.LPosParams;
import redis.clients.jedis.resps.KeyedListElement;
import redis.clients.jedis.resps.LCSMatchResult;
import redis.clients.jedis.util.Hashing;

/**
 * @deprecated This class will be removed in next major release.
 */
@Deprecated
public class ShardedJedis extends BinaryShardedJedis implements JedisCommands, Closeable {

  protected ShardedJedisPool dataSource = null;

  public ShardedJedis(List shards) {
    super(shards);
  }

  public ShardedJedis(List shards, Hashing algo) {
    super(shards, algo);
  }

  public ShardedJedis(List shards, Pattern keyTagPattern) {
    super(shards, keyTagPattern);
  }

  public ShardedJedis(List shards, Hashing algo, Pattern keyTagPattern) {
    super(shards, algo, keyTagPattern);
  }

  @Override
  public String set(final String key, final String value) {
    Jedis j = getShard(key);
    return j.set(key, value);
  }

  @Override
  public String set(final String key, final String value, SetParams params) {
    Jedis j = getShard(key);
    return j.set(key, value, params);
  }

  @Override
  public String get(final String key) {
    Jedis j = getShard(key);
    return j.get(key);
  }

  @Override
  public String getDel(final String key) {
    Jedis j = getShard(key);
    return j.getDel(key);
  }

  @Override
  public String getEx(String key, GetExParams params) {
    Jedis j = getShard(key);
    return j.getEx(key, params);
  }

  @Override
  public String echo(final String string) {
    Jedis j = getShard(string);
    return j.echo(string);
  }

  @Override
  public Boolean exists(final String key) {
    Jedis j = getShard(key);
    return j.exists(key);
  }

  @Override
  public String type(final String key) {
    Jedis j = getShard(key);
    return j.type(key);
  }

  @Override
  public byte[] dump(final String key) {
    Jedis j = getShard(key);
    return j.dump(key);
  }

  @Override
  public String restore(final String key, final long ttl, final byte[] serializedValue) {
    Jedis j = getShard(key);
    return j.restore(key, ttl, serializedValue);
  }

  @Override
  public String restoreReplace(final String key, final long ttl, final byte[] serializedValue) {
    Jedis j = getShard(key);
    return j.restoreReplace(key, ttl, serializedValue);
  }

  @Override
  public String restore(final String key, final long ttl, final byte[] serializedValue,
      final RestoreParams params) {
    Jedis j = getShard(key);
    return j.restore(key, ttl, serializedValue, params);
  }

  @Override
  public Long expire(final String key, final long seconds) {
    Jedis j = getShard(key);
    return j.expire(key, seconds);
  }

  @Override
  public Long pexpire(final String key, final long milliseconds) {
    Jedis j = getShard(key);
    return j.pexpire(key, milliseconds);
  }

  @Override
  public Long expireAt(final String key, final long unixTime) {
    Jedis j = getShard(key);
    return j.expireAt(key, unixTime);
  }

  @Override
  public Long pexpireAt(final String key, final long millisecondsTimestamp) {
    Jedis j = getShard(key);
    return j.pexpireAt(key, millisecondsTimestamp);
  }

  @Override
  public Long ttl(final String key) {
    Jedis j = getShard(key);
    return j.ttl(key);
  }

  @Override
  public Long pttl(final String key) {
    Jedis j = getShard(key);
    return j.pttl(key);
  }

  @Override
  public Boolean setbit(final String key, final long offset, boolean value) {
    Jedis j = getShard(key);
    return j.setbit(key, offset, value);
  }

  @Override
  public Boolean setbit(final String key, final long offset, final String value) {
    Jedis j = getShard(key);
    return j.setbit(key, offset, value);
  }

  @Override
  public Boolean getbit(final String key, final long offset) {
    Jedis j = getShard(key);
    return j.getbit(key, offset);
  }

  @Override
  public Long setrange(final String key, final long offset, final String value) {
    Jedis j = getShard(key);
    return j.setrange(key, offset, value);
  }

  @Override
  public String getrange(final String key, final long startOffset, final long endOffset) {
    Jedis j = getShard(key);
    return j.getrange(key, startOffset, endOffset);
  }

  @Override
  public String getSet(final String key, final String value) {
    Jedis j = getShard(key);
    return j.getSet(key, value);
  }

  @Override
  public Long setnx(final String key, final String value) {
    Jedis j = getShard(key);
    return j.setnx(key, value);
  }

  @Override
  public String setex(final String key, final long seconds, final String value) {
    Jedis j = getShard(key);
    return j.setex(key, seconds, value);
  }

  @Override
  public String psetex(final String key, final long milliseconds, final String value) {
    Jedis j = getShard(key);
    return j.psetex(key, milliseconds, value);
  }

  @Override
  public List blpop(final int timeout, final String key) {
    Jedis j = getShard(key);
    return j.blpop(timeout, key);
  }

  @Override
  public KeyedListElement blpop(final double timeout, final String key) {
    Jedis j = getShard(key);
    return j.blpop(timeout, key);
  }

  @Override
  public List brpop(final int timeout, final String key) {
    Jedis j = getShard(key);
    return j.brpop(timeout, key);
  }

  @Override
  public KeyedListElement brpop(final double timeout, final String key) {
    Jedis j = getShard(key);
    return j.brpop(timeout, key);
  }

  @Override
  public Long decrBy(final String key, final long decrement) {
    Jedis j = getShard(key);
    return j.decrBy(key, decrement);
  }

  @Override
  public Long decr(final String key) {
    Jedis j = getShard(key);
    return j.decr(key);
  }

  @Override
  public Long incrBy(final String key, final long increment) {
    Jedis j = getShard(key);
    return j.incrBy(key, increment);
  }

  @Override
  public Double incrByFloat(final String key, final double increment) {
    Jedis j = getShard(key);
    return j.incrByFloat(key, increment);
  }

  @Override
  public Long incr(final String key) {
    Jedis j = getShard(key);
    return j.incr(key);
  }

  @Override
  public Long append(final String key, final String value) {
    Jedis j = getShard(key);
    return j.append(key, value);
  }

  @Override
  public String substr(final String key, final int start, final int end) {
    Jedis j = getShard(key);
    return j.substr(key, start, end);
  }

  @Override
  public Long hset(final String key, final String field, final String value) {
    Jedis j = getShard(key);
    return j.hset(key, field, value);
  }

  @Override
  public Long hset(final String key, final Map hash) {
    Jedis j = getShard(key);
    return j.hset(key, hash);
  }

  @Override
  public String hget(final String key, final String field) {
    Jedis j = getShard(key);
    return j.hget(key, field);
  }

  @Override
  public Long hsetnx(final String key, final String field, final String value) {
    Jedis j = getShard(key);
    return j.hsetnx(key, field, value);
  }

  @Override
  public String hmset(final String key, final Map hash) {
    Jedis j = getShard(key);
    return j.hmset(key, hash);
  }

  @Override
  public List hmget(final String key, String... fields) {
    Jedis j = getShard(key);
    return j.hmget(key, fields);
  }

  @Override
  public Long hincrBy(final String key, final String field, final long value) {
    Jedis j = getShard(key);
    return j.hincrBy(key, field, value);
  }

  @Override
  public Double hincrByFloat(final String key, final String field, final double value) {
    Jedis j = getShard(key);
    return j.hincrByFloat(key, field, value);
  }

  @Override
  public Boolean hexists(final String key, final String field) {
    Jedis j = getShard(key);
    return j.hexists(key, field);
  }

  @Override
  public Long del(final String key) {
    Jedis j = getShard(key);
    return j.del(key);
  }

  @Override
  public Long unlink(final String key) {
    Jedis j = getShard(key);
    return j.unlink(key);
  }

  @Override
  public Long hdel(final String key, String... fields) {
    Jedis j = getShard(key);
    return j.hdel(key, fields);
  }

  @Override
  public Long hlen(final String key) {
    Jedis j = getShard(key);
    return j.hlen(key);
  }

  @Override
  public Set hkeys(final String key) {
    Jedis j = getShard(key);
    return j.hkeys(key);
  }

  @Override
  public List hvals(final String key) {
    Jedis j = getShard(key);
    return j.hvals(key);
  }

  @Override
  public Map hgetAll(final String key) {
    Jedis j = getShard(key);
    return j.hgetAll(key);
  }

  @Override
  public String hrandfield(final String key) {
    Jedis j = getShard(key);
    return j.hrandfield(key);
  }

  @Override
  public List hrandfield(final String key, final long count) {
    Jedis j = getShard(key);
    return j.hrandfield(key, count);
  }

  @Override
  public Map hrandfieldWithValues(final String key, final long count) {
    Jedis j = getShard(key);
    return j.hrandfieldWithValues(key, count);
  }

  @Override
  public Long rpush(final String key, String... strings) {
    Jedis j = getShard(key);
    return j.rpush(key, strings);
  }

  @Override
  public Long lpush(final String key, String... strings) {
    Jedis j = getShard(key);
    return j.lpush(key, strings);
  }

  @Override
  public Long lpushx(final String key, String... string) {
    Jedis j = getShard(key);
    return j.lpushx(key, string);
  }

  @Override
  public Long strlen(final String key) {
    Jedis j = getShard(key);
    return j.strlen(key);
  }

  @Override
  public Long move(final String key, final int dbIndex) {
    Jedis j = getShard(key);
    return j.move(key, dbIndex);
  }

  @Override
  public Long rpushx(final String key, String... string) {
    Jedis j = getShard(key);
    return j.rpushx(key, string);
  }

  @Override
  public Long persist(final String key) {
    Jedis j = getShard(key);
    return j.persist(key);
  }

  @Override
  public Long llen(final String key) {
    Jedis j = getShard(key);
    return j.llen(key);
  }

  @Override
  public List lrange(final String key, final long start, final long stop) {
    Jedis j = getShard(key);
    return j.lrange(key, start, stop);
  }

  @Override
  public String ltrim(final String key, final long start, final long stop) {
    Jedis j = getShard(key);
    return j.ltrim(key, start, stop);
  }

  @Override
  public String lindex(final String key, final long index) {
    Jedis j = getShard(key);
    return j.lindex(key, index);
  }

  @Override
  public String lset(final String key, final long index, final String value) {
    Jedis j = getShard(key);
    return j.lset(key, index, value);
  }

  @Override
  public Long lrem(final String key, final long count, final String value) {
    Jedis j = getShard(key);
    return j.lrem(key, count, value);
  }

  @Override
  public String lpop(final String key) {
    Jedis j = getShard(key);
    return j.lpop(key);
  }

  @Override
  public List lpop(final String key, final int count) {
    Jedis j = getShard(key);
    return j.lpop(key, count);
  }

  @Override
  public Long lpos(final String key, final String element) {
    Jedis j = getShard(key);
    return j.lpos(key, element);
  }

  @Override
  public Long lpos(final String key, final String element, final LPosParams params) {
    Jedis j = getShard(key);
    return j.lpos(key, element, params);
  }

  @Override
  public List lpos(final String key, final String element, final LPosParams params,
      final long count) {
    Jedis j = getShard(key);
    return j.lpos(key, element, params, count);
  }

  @Override
  public String rpop(final String key) {
    Jedis j = getShard(key);
    return j.rpop(key);
  }

  @Override
  public List rpop(final String key, final int count) {
    Jedis j = getShard(key);
    return j.rpop(key, count);
  }

  @Override
  public Long sadd(final String key, String... members) {
    Jedis j = getShard(key);
    return j.sadd(key, members);
  }

  @Override
  public Set smembers(final String key) {
    Jedis j = getShard(key);
    return j.smembers(key);
  }

  @Override
  public Long srem(final String key, String... members) {
    Jedis j = getShard(key);
    return j.srem(key, members);
  }

  @Override
  public String spop(final String key) {
    Jedis j = getShard(key);
    return j.spop(key);
  }

  @Override
  public Set spop(final String key, final long count) {
    Jedis j = getShard(key);
    return j.spop(key, count);
  }

  @Override
  public Long scard(final String key) {
    Jedis j = getShard(key);
    return j.scard(key);
  }

  @Override
  public Boolean sismember(final String key, final String member) {
    Jedis j = getShard(key);
    return j.sismember(key, member);
  }

  @Override
  public List smismember(final String key, final String... members) {
    Jedis j = getShard(key);
    return j.smismember(key, members);
  }

  @Override
  public String srandmember(final String key) {
    Jedis j = getShard(key);
    return j.srandmember(key);
  }

  @Override
  public List srandmember(final String key, final int count) {
    Jedis j = getShard(key);
    return j.srandmember(key, count);
  }

  @Override
  public Long zadd(final String key, final double score, final String member) {
    Jedis j = getShard(key);
    return j.zadd(key, score, member);
  }

  @Override
  public Long zadd(final String key, final double score, final String member,
      final ZAddParams params) {
    Jedis j = getShard(key);
    return j.zadd(key, score, member, params);
  }

  @Override
  public Long zadd(final String key, final Map scoreMembers) {
    Jedis j = getShard(key);
    return j.zadd(key, scoreMembers);
  }

  @Override
  public Long zadd(final String key, final Map scoreMembers, final ZAddParams params) {
    Jedis j = getShard(key);
    return j.zadd(key, scoreMembers, params);
  }

  @Override
  public Double zaddIncr(final String key, final double score, final String member, final ZAddParams params) {
    Jedis j = getShard(key);
    return j.zaddIncr(key, score, member, params);
  }

  @Override
  public Set zrange(final String key, final long start, final long stop) {
    Jedis j = getShard(key);
    return j.zrange(key, start, stop);
  }

  @Override
  public Long zrem(final String key, String... members) {
    Jedis j = getShard(key);
    return j.zrem(key, members);
  }

  @Override
  public Double zincrby(final String key, final double increment, final String member) {
    Jedis j = getShard(key);
    return j.zincrby(key, increment, member);
  }

  @Override
  public Double zincrby(final String key, final double increment, final String member,
      ZIncrByParams params) {
    Jedis j = getShard(key);
    return j.zincrby(key, increment, member, params);
  }

  @Override
  public Long zrank(final String key, final String member) {
    Jedis j = getShard(key);
    return j.zrank(key, member);
  }

  @Override
  public Long zrevrank(final String key, final String member) {
    Jedis j = getShard(key);
    return j.zrevrank(key, member);
  }

  @Override
  public Set zrevrange(final String key, final long start, final long stop) {
    Jedis j = getShard(key);
    return j.zrevrange(key, start, stop);
  }

  @Override
  public Set zrangeWithScores(final String key, final long start, final long stop) {
    Jedis j = getShard(key);
    return j.zrangeWithScores(key, start, stop);
  }

  @Override
  public Set zrevrangeWithScores(final String key, final long start, final long stop) {
    Jedis j = getShard(key);
    return j.zrevrangeWithScores(key, start, stop);
  }

  @Override
  public String zrandmember(final String key) {
    Jedis j = getShard(key);
    return j.zrandmember(key);
  }

  @Override
  public Set zrandmember(final String key, final long count) {
    Jedis j = getShard(key);
    return j.zrandmember(key, count);
  }

  @Override
  public Set zrandmemberWithScores(final String key, final long count) {
    Jedis j = getShard(key);
    return j.zrandmemberWithScores(key, count);
  }

  @Override
  public Long zcard(final String key) {
    Jedis j = getShard(key);
    return j.zcard(key);
  }

  @Override
  public Double zscore(final String key, final String member) {
    Jedis j = getShard(key);
    return j.zscore(key, member);
  }

  @Override
  public List zmscore(final String key, final String... members) {
    Jedis j = getShard(key);
    return j.zmscore(key, members);
  }

  @Override
  public Tuple zpopmax(final String key) {
    Jedis j = getShard(key);
    return j.zpopmax(key);
  }

  @Override
  public Set zpopmax(final String key, final int count) {
    Jedis j = getShard(key);
    return j.zpopmax(key, count);
  }

  @Override
  public Tuple zpopmin(final String key) {
    Jedis j = getShard(key);
    return j.zpopmin(key);
  }

  @Override
  public Set zpopmin(final String key, final int count) {
    Jedis j = getShard(key);
    return j.zpopmin(key, count);
  }

  @Override
  public List sort(final String key) {
    Jedis j = getShard(key);
    return j.sort(key);
  }

  @Override
  public List sort(final String key, final SortingParams sortingParameters) {
    Jedis j = getShard(key);
    return j.sort(key, sortingParameters);
  }

  @Override
  public Long zcount(final String key, final double min, final double max) {
    Jedis j = getShard(key);
    return j.zcount(key, min, max);
  }

  @Override
  public Long zcount(final String key, final String min, final String max) {
    Jedis j = getShard(key);
    return j.zcount(key, min, max);
  }

  @Override
  public Set zrangeByScore(final String key, final double min, final double max) {
    Jedis j = getShard(key);
    return j.zrangeByScore(key, min, max);
  }

  @Override
  public Set zrevrangeByScore(final String key, final double max, final double min) {
    Jedis j = getShard(key);
    return j.zrevrangeByScore(key, max, min);
  }

  @Override
  public Set zrangeByScore(final String key, final double min, final double max,
      final int offset, final int count) {
    Jedis j = getShard(key);
    return j.zrangeByScore(key, min, max, offset, count);
  }

  @Override
  public Set zrevrangeByScore(final String key, final double max, final double min,
      final int offset, final int count) {
    Jedis j = getShard(key);
    return j.zrevrangeByScore(key, max, min, offset, count);
  }

  @Override
  public Set zrangeByScoreWithScores(final String key, final double min, final double max) {
    Jedis j = getShard(key);
    return j.zrangeByScoreWithScores(key, min, max);
  }

  @Override
  public Set zrevrangeByScoreWithScores(final String key, final double max, final double min) {
    Jedis j = getShard(key);
    return j.zrevrangeByScoreWithScores(key, max, min);
  }

  @Override
  public Set zrangeByScoreWithScores(final String key, final double min, final double max,
      final int offset, final int count) {
    Jedis j = getShard(key);
    return j.zrangeByScoreWithScores(key, min, max, offset, count);
  }

  @Override
  public Set zrevrangeByScoreWithScores(final String key, final double max,
      final double min, final int offset, final int count) {
    Jedis j = getShard(key);
    return j.zrevrangeByScoreWithScores(key, max, min, offset, count);
  }

  @Override
  public Set zrangeByScore(final String key, final String min, final String max) {
    Jedis j = getShard(key);
    return j.zrangeByScore(key, min, max);
  }

  @Override
  public Set zrevrangeByScore(final String key, final String max, final String min) {
    Jedis j = getShard(key);
    return j.zrevrangeByScore(key, max, min);
  }

  @Override
  public Set zrangeByScore(final String key, final String min, final String max,
      final int offset, final int count) {
    Jedis j = getShard(key);
    return j.zrangeByScore(key, min, max, offset, count);
  }

  @Override
  public Set zrevrangeByScore(final String key, final String max, final String min,
      final int offset, final int count) {
    Jedis j = getShard(key);
    return j.zrevrangeByScore(key, max, min, offset, count);
  }

  @Override
  public Set zrangeByScoreWithScores(final String key, final String min, final String max) {
    Jedis j = getShard(key);
    return j.zrangeByScoreWithScores(key, min, max);
  }

  @Override
  public Set zrevrangeByScoreWithScores(final String key, final String max, final String min) {
    Jedis j = getShard(key);
    return j.zrevrangeByScoreWithScores(key, max, min);
  }

  @Override
  public Set zrangeByScoreWithScores(final String key, final String min, final String max,
      final int offset, final int count) {
    Jedis j = getShard(key);
    return j.zrangeByScoreWithScores(key, min, max, offset, count);
  }

  @Override
  public Set zrevrangeByScoreWithScores(final String key, final String max,
      final String min, final int offset, final int count) {
    Jedis j = getShard(key);
    return j.zrevrangeByScoreWithScores(key, max, min, offset, count);
  }

  @Override
  public Long zremrangeByRank(final String key, final long start, final long stop) {
    Jedis j = getShard(key);
    return j.zremrangeByRank(key, start, stop);
  }

  @Override
  public Long zremrangeByScore(final String key, final double min, final double max) {
    Jedis j = getShard(key);
    return j.zremrangeByScore(key, min, max);
  }

  @Override
  public Long zremrangeByScore(final String key, final String min, final String max) {
    Jedis j = getShard(key);
    return j.zremrangeByScore(key, min, max);
  }

  @Override
  public Long zlexcount(final String key, final String min, final String max) {
    return getShard(key).zlexcount(key, min, max);
  }

  @Override
  public Set zrangeByLex(final String key, final String min, final String max) {
    return getShard(key).zrangeByLex(key, min, max);
  }

  @Override
  public Set zrangeByLex(final String key, final String min, final String max,
      final int offset, final int count) {
    return getShard(key).zrangeByLex(key, min, max, offset, count);
  }

  @Override
  public Set zrevrangeByLex(final String key, final String max, final String min) {
    return getShard(key).zrevrangeByLex(key, max, min);
  }

  @Override
  public Set zrevrangeByLex(final String key, final String max, final String min,
      final int offset, final int count) {
    return getShard(key).zrevrangeByLex(key, max, min, offset, count);
  }

  @Override
  public Long zremrangeByLex(final String key, final String min, final String max) {
    return getShard(key).zremrangeByLex(key, min, max);
  }

  @Override
  public Long linsert(final String key, final ListPosition where, final String pivot,
      final String value) {
    Jedis j = getShard(key);
    return j.linsert(key, where, pivot, value);
  }

  @Override
  public Long bitcount(final String key) {
    Jedis j = getShard(key);
    return j.bitcount(key);
  }

  @Override
  public Long bitcount(final String key, final long start, final long end) {
    Jedis j = getShard(key);
    return j.bitcount(key, start, end);
  }

  @Override
  public Long bitpos(final String key, final boolean value) {
    Jedis j = getShard(key);
    return j.bitpos(key, value);
  }

  @Override
  public Long bitpos(final String key, boolean value, final BitPosParams params) {
    Jedis j = getShard(key);
    return j.bitpos(key, value, params);
  }

  @Override
  public ScanResult> hscan(final String key, final String cursor) {
    Jedis j = getShard(key);
    return j.hscan(key, cursor);
  }

  @Override
  public ScanResult> hscan(final String key, final String cursor,
      final ScanParams params) {
    Jedis j = getShard(key);
    return j.hscan(key, cursor, params);
  }

  @Override
  public ScanResult sscan(final String key, final String cursor) {
    Jedis j = getShard(key);
    return j.sscan(key, cursor);
  }

  @Override
  public ScanResult zscan(final String key, final String cursor) {
    Jedis j = getShard(key);
    return j.zscan(key, cursor);
  }

  @Override
  public ScanResult zscan(final String key, final String cursor, final ScanParams params) {
    Jedis j = getShard(key);
    return j.zscan(key, cursor, params);
  }

  @Override
  public ScanResult sscan(final String key, final String cursor, final ScanParams params) {
    Jedis j = getShard(key);
    return j.sscan(key, cursor, params);
  }

  @Override
  public void close() {
    if (dataSource != null) {
      boolean broken = false;

      for (Jedis jedis : getAllShards()) {
        if (jedis.isBroken()) {
          broken = true;
          break;
        }
      }
      ShardedJedisPool pool = this.dataSource;
      this.dataSource = null;
      if (broken) {
        pool.returnBrokenResource(this);
      } else {
        pool.returnResource(this);
      }

    } else {
      disconnect();
    }
  }

  public void setDataSource(ShardedJedisPool shardedJedisPool) {
    this.dataSource = shardedJedisPool;
  }

  public void resetState() {
    for (Jedis jedis : getAllShards()) {
      jedis.resetState();
    }
  }

  @Override
  public Long pfadd(final String key, final String... elements) {
    Jedis j = getShard(key);
    return j.pfadd(key, elements);
  }

  @Override
  public long pfcount(final String key) {
    Jedis j = getShard(key);
    return j.pfcount(key);
  }

  @Override
  public Long touch(final String key) {
    Jedis j = getShard(key);
    return j.touch(key);
  }

  @Override
  public Long geoadd(final String key, final double longitude, final double latitude,
      final String member) {
    Jedis j = getShard(key);
    return j.geoadd(key, longitude, latitude, member);
  }

  @Override
  public Long geoadd(final String key, final Map memberCoordinateMap) {
    Jedis j = getShard(key);
    return j.geoadd(key, memberCoordinateMap);
  }

  @Override
  public Long geoadd(String key, GeoAddParams params, Map memberCoordinateMap) {
    Jedis j = getShard(key);
    return j.geoadd(key, params, memberCoordinateMap);
  }

  @Override
  public Double geodist(final String key, final String member1, final String member2) {
    Jedis j = getShard(key);
    return j.geodist(key, member1, member2);
  }

  @Override
  public Double geodist(final String key, final String member1, final String member2,
      final GeoUnit unit) {
    Jedis j = getShard(key);
    return j.geodist(key, member1, member2, unit);
  }

  @Override
  public List geohash(final String key, final String... members) {
    Jedis j = getShard(key);
    return j.geohash(key, members);
  }

  @Override
  public List geopos(final String key, final String... members) {
    Jedis j = getShard(key);
    return j.geopos(key, members);
  }

  @Override
  public List georadius(final String key, final double longitude,
      final double latitude, final double radius, final GeoUnit unit) {
    Jedis j = getShard(key);
    return j.georadius(key, longitude, latitude, radius, unit);
  }

  @Override
  public List georadiusReadonly(final String key, final double longitude,
      final double latitude, final double radius, final GeoUnit unit) {
    Jedis j = getShard(key);
    return j.georadiusReadonly(key, longitude, latitude, radius, unit);
  }

  @Override
  public List georadius(final String key, final double longitude,
      final double latitude, final double radius, final GeoUnit unit, final GeoRadiusParam param) {
    Jedis j = getShard(key);
    return j.georadius(key, longitude, latitude, radius, unit, param);
  }

  @Override
  public List georadiusReadonly(final String key, final double longitude,
      final double latitude, final double radius, final GeoUnit unit, final GeoRadiusParam param) {
    Jedis j = getShard(key);
    return j.georadiusReadonly(key, longitude, latitude, radius, unit, param);
  }

  @Override
  public List georadiusByMember(final String key, final String member,
      final double radius, final GeoUnit unit) {
    Jedis j = getShard(key);
    return j.georadiusByMember(key, member, radius, unit);
  }

  @Override
  public List georadiusByMemberReadonly(final String key, final String member,
      final double radius, final GeoUnit unit) {
    Jedis j = getShard(key);
    return j.georadiusByMemberReadonly(key, member, radius, unit);
  }

  @Override
  public List georadiusByMember(final String key, final String member,
      final double radius, final GeoUnit unit, final GeoRadiusParam param) {
    Jedis j = getShard(key);
    return j.georadiusByMember(key, member, radius, unit, param);
  }

  @Override
  public List georadiusByMemberReadonly(final String key, final String member,
      final double radius, final GeoUnit unit, final GeoRadiusParam param) {
    Jedis j = getShard(key);
    return j.georadiusByMemberReadonly(key, member, radius, unit, param);
  }

  @Override
  public List bitfield(final String key, final String... arguments) {
    Jedis j = getShard(key);
    return j.bitfield(key, arguments);
  }

  @Override
  public List bitfieldReadonly(String key, final String... arguments) {
    Jedis j = getShard(key);
    return j.bitfieldReadonly(key, arguments);
  }

  @Override
  public Long hstrlen(final String key, final String field) {
    Jedis j = getShard(key);
    return j.hstrlen(key, field);
  }

  @Override
  public StreamEntryID xadd(String key, StreamEntryID id, Map hash) {
    Jedis j = getShard(key);
    return j.xadd(key, id, hash);
  }

  @Override
  public StreamEntryID xadd(String key, StreamEntryID id, Map hash, long maxLen,
      boolean approximateLength) {
    Jedis j = getShard(key);
    return j.xadd(key, id, hash, maxLen, approximateLength);
  }

  @Override
  public StreamEntryID xadd(final String key, final Map hash, final XAddParams params) {
    Jedis j = getShard(key);
    return j.xadd(key, hash, params);
  }

  @Override
  public Long xlen(String key) {
    Jedis j = getShard(key);
    return j.xlen(key);
  }

  @Override
  public List xrange(String key, StreamEntryID start, StreamEntryID end) {
    Jedis j = getShard(key);
    return j.xrange(key, start, end);
  }

  @Override
  public List xrange(String key, StreamEntryID start, StreamEntryID end, int count) {
    Jedis j = getShard(key);
    return j.xrange(key, start, end, count);
  }

  @Override
  public long xack(String key, String group, StreamEntryID... ids) {
    Jedis j = getShard(key);
    return j.xack(key, group, ids);
  }

  @Override
  public String xgroupCreate(String key, String consumer, StreamEntryID id, boolean makeStream) {
    Jedis j = getShard(key);
    return j.xgroupCreate(key, consumer, id, makeStream);
  }

  @Override
  public String xgroupSetID(String key, String groupname, StreamEntryID id) {
    Jedis j = getShard(key);
    return j.xgroupSetID(key, groupname, id);
  }

  @Override
  public long xgroupDestroy(String key, String groupname) {
    Jedis j = getShard(key);
    return j.xgroupDestroy(key, groupname);
  }

  @Override
  public Long xgroupDelConsumer(String key, String groupname, String consumername) {
    Jedis j = getShard(key);
    return j.xgroupDelConsumer(key, groupname, consumername);
  }

  @Override
  public long xdel(String key, StreamEntryID... ids) {
    Jedis j = getShard(key);
    return j.xdel(key, ids);
  }

  @Override
  public long xtrim(String key, long maxLen, boolean approximateLength) {
    Jedis j = getShard(key);
    return j.xtrim(key, maxLen, approximateLength);
  }

  @Override
  public long xtrim(String key, XTrimParams params) {
    Jedis j = getShard(key);
    return j.xtrim(key, params);
  }

  @Override
  public List xrevrange(String key, StreamEntryID end, StreamEntryID start) {
    Jedis j = getShard(key);
    return j.xrevrange(key, end, start);
  }

  @Override
  public List xrevrange(String key, StreamEntryID end, StreamEntryID start, int count) {
    Jedis j = getShard(key);
    return j.xrevrange(key, end, start, count);
  }

  @Override
  public StreamPendingSummary xpending(String key, String groupname) {
    Jedis j = getShard(key);
    return j.xpending(key, groupname);
  }

  @Override
  public List xpending(String key, String groupname, StreamEntryID start,
      StreamEntryID end, int count, String consumername) {
    Jedis j = getShard(key);
    return j.xpending(key, groupname, start, end, count, consumername);
  }

  @Override
  public List xpending(String key, String groupname, XPendingParams params) {
    Jedis j = getShard(key);
    return j.xpending(key, groupname, params);
  }

  @Override
  public List xclaim(String key, String group, String consumername, long minIdleTime,
      long newIdleTime, int retries, boolean force, StreamEntryID... ids) {
    Jedis j = getShard(key);
    return j.xclaim(key, group, consumername, minIdleTime, newIdleTime, retries, force, ids);
  }

  @Override
  public List xclaim(String key, String group, String consumername, long minIdleTime,
      XClaimParams params, StreamEntryID... ids) {
    Jedis j = getShard(key);
    return j.xclaim(key, group, consumername, minIdleTime, params, ids);
  }

  @Override
  public List xclaimJustId(String key, String group, String consumername,
      long minIdleTime, XClaimParams params, StreamEntryID... ids) {
    Jedis j = getShard(key);
    return j.xclaimJustId(key, group, consumername, minIdleTime, params, ids);
  }

  @Override
  public Map.Entry> xautoclaim(String key, String group, String consumerName,
      long minIdleTime, StreamEntryID start, XAutoClaimParams params) {
    Jedis j = getShard(key);
    return j.xautoclaim(key, group, consumerName, minIdleTime, start, params);
  }

  @Override
  public Map.Entry> xautoclaimJustId(String key, String group, String consumerName,
      long minIdleTime, StreamEntryID start, XAutoClaimParams params) {
    Jedis j = getShard(key);
    return j.xautoclaimJustId(key, group, consumerName, minIdleTime, start, params);
  }

  @Override
  public StreamInfo xinfoStream(String key) {

    Jedis j = getShard(key);
    return j.xinfoStream(key);
  }

  @Override
  public List xinfoGroup(String key) {

    Jedis j = getShard(key);
    return j.xinfoGroup(key);
  }

  @Override
  public List xinfoConsumers(String key, String group) {
    Jedis j = getShard(key);
    return j.xinfoConsumers(key, group);
  }

  public Object sendCommand(ProtocolCommand cmd, String... args) {
    // default since no sample key provided in JedisCommands interface
    String sampleKey = args.length > 0 ? args[0] : cmd.toString();
    Jedis j = getShard(sampleKey);
    return j.sendCommand(cmd, args);
  }

  public Object sendBlockingCommand(ProtocolCommand cmd, String... args) {
    // default since no sample key provided in JedisCommands interface
    String sampleKey = args.length > 0 ? args[0] : cmd.toString();
    Jedis j = getShard(sampleKey);
    return j.sendBlockingCommand(cmd, args);
  }

  @Override
  public LCSMatchResult strAlgoLCSStrings(final String strA, final String strB, final StrAlgoLCSParams params) {
    Jedis j = getShard("");
    return j.strAlgoLCSStrings(strA, strB, params);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy