
com.penglecode.common.redis.jedis.ms.MasterSlaveJedis Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jedis-ms-sentinel Show documentation
Show all versions of jedis-ms-sentinel Show documentation
commons is a little java tool to make your development easier in your work.
The newest version!
package com.penglecode.common.redis.jedis.ms;
import java.io.Closeable;
import java.util.Collection;
import java.util.LinkedHashSet;
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.AdvancedBinaryJedisCommands;
import redis.clients.jedis.AdvancedJedisCommands;
import redis.clients.jedis.BasicCommands;
import redis.clients.jedis.BinaryClient.LIST_POSITION;
import redis.clients.jedis.exceptions.JedisConnectionException;
import redis.clients.jedis.BinaryJedisCommands;
import redis.clients.jedis.BinaryJedisPubSub;
import redis.clients.jedis.BinaryScriptingCommands;
import redis.clients.jedis.BitOP;
import redis.clients.jedis.Client;
import redis.clients.jedis.DebugParams;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCommands;
import redis.clients.jedis.JedisPubSub;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.MultiKeyBinaryCommands;
import redis.clients.jedis.MultiKeyCommands;
import redis.clients.jedis.ScanResult;
import redis.clients.jedis.ScriptingCommands;
import redis.clients.jedis.SortingParams;
import redis.clients.jedis.Tuple;
import redis.clients.jedis.ZParams;
import redis.clients.util.Hashing;
import redis.clients.util.Pool;
import redis.clients.util.Sharded;
import redis.clients.util.Slowlog;
/**
* MasterSlaveJedis默认情况下,MasterSlaveJedis下的所有方法实际都在Master上执行,
* 仅仅提供了一个新方法opsForSlave(...)可以获取对应所有Slave中的某个Slave
*
* @author pengpeng
* @date 2015年3月14日 上午10:09:41
* @version 1.0
*/
public class MasterSlaveJedis extends Sharded implements BasicCommands, BinaryJedisCommands, MultiKeyBinaryCommands,
AdvancedBinaryJedisCommands, BinaryScriptingCommands, JedisCommands, MultiKeyCommands,
AdvancedJedisCommands, ScriptingCommands, Closeable {
protected final MasterSlaveHostAndPort connectionDesc;
protected final JedisShardInfo masterShard;
protected final List slaveShards;
protected final Jedis master;
protected Pool dataSource = null;
public MasterSlaveJedis(JedisShardInfo masterShard, List slaveShards, Hashing algo, Pattern tagPattern) {
super(slaveShards, algo, tagPattern);
this.masterShard = masterShard;
this.slaveShards = slaveShards;
this.master = new Jedis(masterShard);
Set slaves = new LinkedHashSet();
for(JedisShardInfo slaveShard : slaveShards){
slaves.add(new HostAndPort(slaveShard.getHost(), slaveShard.getPort()));
}
this.connectionDesc = new MasterSlaveHostAndPort(masterShard.getName(), new HostAndPort(masterShard.getHost(), masterShard.getPort()), slaves);
}
public MasterSlaveJedis(JedisShardInfo masterShard, List slaveShards, Hashing algo) {
super(slaveShards, algo);
this.masterShard = masterShard;
this.slaveShards = slaveShards;
this.master = new Jedis(masterShard);
Set slaves = new LinkedHashSet();
for(JedisShardInfo slaveShard : slaveShards){
slaves.add(new HostAndPort(slaveShard.getHost(), slaveShard.getPort()));
}
this.connectionDesc = new MasterSlaveHostAndPort(masterShard.getName(), new HostAndPort(masterShard.getHost(), masterShard.getPort()), slaves);
}
public MasterSlaveJedis(JedisShardInfo masterShard, List slaveShards, Pattern tagPattern) {
super(slaveShards, tagPattern);
this.masterShard = masterShard;
this.slaveShards = slaveShards;
this.master = new Jedis(masterShard);
Set slaves = new LinkedHashSet();
for(JedisShardInfo slaveShard : slaveShards){
slaves.add(new HostAndPort(slaveShard.getHost(), slaveShard.getPort()));
}
this.connectionDesc = new MasterSlaveHostAndPort(masterShard.getName(), new HostAndPort(masterShard.getHost(), masterShard.getPort()), slaves);
}
public MasterSlaveJedis(JedisShardInfo masterShard, List slaveShards) {
super(slaveShards);
this.masterShard = masterShard;
this.slaveShards = slaveShards;
this.master = new Jedis(masterShard);
Set slaves = new LinkedHashSet();
for(JedisShardInfo slaveShard : slaveShards){
slaves.add(new HostAndPort(slaveShard.getHost(), slaveShard.getPort()));
}
this.connectionDesc = new MasterSlaveHostAndPort(masterShard.getName(), new HostAndPort(masterShard.getHost(), masterShard.getPort()), slaves);
}
/**
* 获取当前所有Slave中的某个Slave
* @param slaveHolder - 如果每次调用opsForSlave()方法的入参slaveHolder相同的话,那么其获取的Slave也是相同的
* @return - 返回从Jedis
*/
public Jedis opsForSlave(String ... slaveHolder) {
String holder = null;
if(slaveHolder == null || slaveHolder.length == 0){
holder = String.valueOf(System.currentTimeMillis());
}else{
holder = slaveHolder[0];
if(holder == null || holder.trim().equals("")){
holder = String.valueOf(System.currentTimeMillis());
}
}
return getShard(holder);
}
public MasterSlaveHostAndPort getConnectionDesc() {
return connectionDesc;
}
public Client getClient() {
return master.getClient();
}
public Object eval(String script, int keyCount, String... params) {
return master.eval(script, keyCount, params);
}
public Object eval(String script, List keys, List args) {
return master.eval(script, keys, args);
}
public Object eval(String script) {
return master.eval(script);
}
public Object evalsha(String script) {
return master.evalsha(script);
}
public Object evalsha(String sha1, List keys, List args) {
return master.evalsha(sha1, keys, args);
}
public Object evalsha(String sha1, int keyCount, String... params) {
return master.evalsha(sha1, keyCount, params);
}
public Boolean scriptExists(String sha1) {
return master.scriptExists(sha1);
}
public List scriptExists(String... sha1) {
return master.scriptExists(sha1);
}
public String scriptLoad(String script) {
return master.scriptLoad(script);
}
public List configGet(String pattern) {
return master.configGet(pattern);
}
public String configSet(String parameter, String value) {
return master.configSet(parameter, value);
}
public List slowlogGet() {
return master.slowlogGet();
}
public List slowlogGet(long entries) {
return master.slowlogGet(entries);
}
public Long objectRefcount(String string) {
return master.objectRefcount(string);
}
public String objectEncoding(String string) {
return master.objectEncoding(string);
}
public Long objectIdletime(String string) {
return master.objectIdletime(string);
}
public Long del(String... keys) {
return master.del(keys);
}
public List blpop(int timeout, String... keys) {
return master.blpop(timeout, keys);
}
public List brpop(int timeout, String... keys) {
return master.brpop(timeout, keys);
}
public List blpop(String... args) {
return master.blpop(args);
}
public List brpop(String... args) {
return master.brpop(args);
}
public Set keys(String pattern) {
return master.keys(pattern);
}
public List mget(String... keys) {
return master.mget(keys);
}
public String mset(String... keysvalues) {
return master.mset(keysvalues);
}
public Long msetnx(String... keysvalues) {
return master.msetnx(keysvalues);
}
public String rename(String oldkey, String newkey) {
return master.rename(oldkey, newkey);
}
public Long renamenx(String oldkey, String newkey) {
return master.renamenx(oldkey, newkey);
}
public String rpoplpush(String srckey, String dstkey) {
return master.rpoplpush(srckey, dstkey);
}
public Set sdiff(String... keys) {
return master.sdiff(keys);
}
public Long sdiffstore(String dstkey, String... keys) {
return master.sdiffstore(dstkey, keys);
}
public Set sinter(String... keys) {
return master.sinter(keys);
}
public Long sinterstore(String dstkey, String... keys) {
return master.sinterstore(dstkey, keys);
}
public Long smove(String srckey, String dstkey, String member) {
return master.smove(srckey, dstkey, member);
}
public Long sort(String key, SortingParams sortingParameters, String dstkey) {
return master.sort(key, sortingParameters, dstkey);
}
public Long sort(String key, String dstkey) {
return master.sort(key, dstkey);
}
public Set sunion(String... keys) {
return master.sunion(keys);
}
public Long sunionstore(String dstkey, String... keys) {
return master.sunionstore(dstkey, keys);
}
public String watch(String... keys) {
return master.watch(keys);
}
public Long zinterstore(String dstkey, String... sets) {
return master.zinterstore(dstkey, sets);
}
public Long zinterstore(String dstkey, ZParams params, String... sets) {
return master.zinterstore(dstkey, params, sets);
}
public Long zunionstore(String dstkey, String... sets) {
return master.zunionstore(dstkey, sets);
}
public Long zunionstore(String dstkey, ZParams params, String... sets) {
return master.zunionstore(dstkey, params, sets);
}
public String brpoplpush(String source, String destination, int timeout) {
return master.brpoplpush(source, destination, timeout);
}
public Long publish(String channel, String message) {
return master.publish(channel, message);
}
public void subscribe(JedisPubSub jedisPubSub, String... channels) {
master.subscribe(jedisPubSub, channels);
}
public void psubscribe(JedisPubSub jedisPubSub, String... patterns) {
master.psubscribe(jedisPubSub, patterns);
}
public String randomKey() {
return master.randomKey();
}
public Long bitop(BitOP op, String destKey, String... srcKeys) {
return master.bitop(op, destKey, srcKeys);
}
@Deprecated
public ScanResult scan(int cursor) {
return master.scan(cursor);
}
public ScanResult scan(String cursor) {
return master.scan(cursor);
}
public String pfmerge(String destkey, String... sourcekeys) {
return master.pfmerge(destkey, sourcekeys);
}
public long pfcount(String... keys) {
return master.pfcount(keys);
}
public String set(String key, String value) {
return master.set(key, value);
}
public String set(String key, String value, String nxxx, String expx,
long time) {
return master.set(key, value, nxxx, expx, time);
}
public String get(String key) {
return master.get(key);
}
public Boolean exists(String key) {
return master.exists(key);
}
public Long persist(String key) {
return master.persist(key);
}
public String type(String key) {
return master.type(key);
}
public Long expire(String key, int seconds) {
return master.expire(key, seconds);
}
public Long expireAt(String key, long unixTime) {
return master.expireAt(key, unixTime);
}
public Long ttl(String key) {
return master.ttl(key);
}
public Boolean setbit(String key, long offset, boolean value) {
return master.setbit(key, offset, value);
}
public Boolean setbit(String key, long offset, String value) {
return master.setbit(key, offset, value);
}
public Boolean getbit(String key, long offset) {
return master.getbit(key, offset);
}
public Long setrange(String key, long offset, String value) {
return master.setrange(key, offset, value);
}
public String getrange(String key, long startOffset, long endOffset) {
return master.getrange(key, startOffset, endOffset);
}
public String getSet(String key, String value) {
return master.getSet(key, value);
}
public Long setnx(String key, String value) {
return master.setnx(key, value);
}
public String setex(String key, int seconds, String value) {
return master.setex(key, seconds, value);
}
public Long decrBy(String key, long integer) {
return master.decrBy(key, integer);
}
public Long decr(String key) {
return master.decr(key);
}
public Long incrBy(String key, long integer) {
return master.incrBy(key, integer);
}
public Double incrByFloat(String key, double integer) {
return master.incrByFloat(key, integer);
}
public Long incr(String key) {
return master.incr(key);
}
public Long append(String key, String value) {
return master.append(key, value);
}
public String substr(String key, int start, int end) {
return master.substr(key, start, end);
}
public Long hset(String key, String field, String value) {
return master.hset(key, field, value);
}
public String hget(String key, String field) {
return master.hget(key, field);
}
public Long hsetnx(String key, String field, String value) {
return master.hsetnx(key, field, value);
}
public String hmset(String key, Map hash) {
return master.hmset(key, hash);
}
public List hmget(String key, String... fields) {
return master.hmget(key, fields);
}
public Long hincrBy(String key, String field, long value) {
return master.hincrBy(key, field, value);
}
public Double hincrByFloat(String key, String field, double value) {
return master.hincrByFloat(key, field, value);
}
public Boolean hexists(String key, String field) {
return master.hexists(key, field);
}
public Long hdel(String key, String... fields) {
return master.hdel(key, fields);
}
public Long hlen(String key) {
return master.hlen(key);
}
public Set hkeys(String key) {
return master.hkeys(key);
}
public List hvals(String key) {
return master.hvals(key);
}
public Map hgetAll(String key) {
return master.hgetAll(key);
}
public Long rpush(String key, String... strings) {
return master.rpush(key, strings);
}
public Long lpush(String key, String... strings) {
return master.lpush(key, strings);
}
public Long llen(String key) {
return master.llen(key);
}
public List lrange(String key, long start, long end) {
return master.lrange(key, start, end);
}
public String ltrim(String key, long start, long end) {
return master.ltrim(key, start, end);
}
public String lindex(String key, long index) {
return master.lindex(key, index);
}
public String lset(String key, long index, String value) {
return master.lset(key, index, value);
}
public Long lrem(String key, long count, String value) {
return master.lrem(key, count, value);
}
public String lpop(String key) {
return master.lpop(key);
}
public String rpop(String key) {
return master.rpop(key);
}
public Long sadd(String key, String... members) {
return master.sadd(key, members);
}
public Set smembers(String key) {
return master.smembers(key);
}
public Long srem(String key, String... members) {
return master.srem(key, members);
}
public String spop(String key) {
return master.spop(key);
}
public Long scard(String key) {
return master.scard(key);
}
public Boolean sismember(String key, String member) {
return master.sismember(key, member);
}
public String srandmember(String key) {
return master.srandmember(key);
}
public List srandmember(String key, int count) {
return master.srandmember(key, count);
}
public Long strlen(String key) {
return master.strlen(key);
}
public Long zadd(String key, double score, String member) {
return master.zadd(key, score, member);
}
public Long zadd(String key, Map scoreMembers) {
return master.zadd(key, scoreMembers);
}
public Set zrange(String key, long start, long end) {
return master.zrange(key, start, end);
}
public Long zrem(String key, String... members) {
return master.zrem(key, members);
}
public Double zincrby(String key, double score, String member) {
return master.zincrby(key, score, member);
}
public Long zrank(String key, String member) {
return master.zrank(key, member);
}
public Long zrevrank(String key, String member) {
return master.zrevrank(key, member);
}
public Set zrevrange(String key, long start, long end) {
return master.zrevrange(key, start, end);
}
public Set zrangeWithScores(String key, long start, long end) {
return master.zrangeWithScores(key, start, end);
}
public Set zrevrangeWithScores(String key, long start, long end) {
return master.zrevrangeWithScores(key, start, end);
}
public Long zcard(String key) {
return master.zcard(key);
}
public Double zscore(String key, String member) {
return master.zscore(key, member);
}
public List sort(String key) {
return master.sort(key);
}
public List sort(String key, SortingParams sortingParameters) {
return master.sort(key, sortingParameters);
}
public Long zcount(String key, double min, double max) {
return master.zcount(key, min, max);
}
public Long zcount(String key, String min, String max) {
return master.zcount(key, min, max);
}
public Set zrangeByScore(String key, double min, double max) {
return master.zrangeByScore(key, min, max);
}
public Set zrangeByScore(String key, String min, String max) {
return master.zrangeByScore(key, min, max);
}
public Set zrevrangeByScore(String key, double max, double min) {
return master.zrevrangeByScore(key, max, min);
}
public Set zrangeByScore(String key, double min, double max,
int offset, int count) {
return master.zrangeByScore(key, min, max, offset, count);
}
public Set zrevrangeByScore(String key, String max, String min) {
return master.zrevrangeByScore(key, max, min);
}
public Set zrangeByScore(String key, String min, String max,
int offset, int count) {
return master.zrangeByScore(key, min, max, offset, count);
}
public Set zrevrangeByScore(String key, double max, double min,
int offset, int count) {
return master.zrevrangeByScore(key, max, min, offset, count);
}
public Set zrangeByScoreWithScores(String key, double min, double max) {
return master.zrangeByScoreWithScores(key, min, max);
}
public Set zrevrangeByScoreWithScores(String key, double max,
double min) {
return master.zrevrangeByScoreWithScores(key, max, min);
}
public Set zrangeByScoreWithScores(String key, double min,
double max, int offset, int count) {
return master.zrangeByScoreWithScores(key, min, max, offset, count);
}
public Set zrevrangeByScore(String key, String max, String min,
int offset, int count) {
return master.zrevrangeByScore(key, max, min, offset, count);
}
public Set zrangeByScoreWithScores(String key, String min, String max) {
return master.zrangeByScoreWithScores(key, min, max);
}
public Set zrevrangeByScoreWithScores(String key, String max,
String min) {
return master.zrevrangeByScoreWithScores(key, max, min);
}
public Set zrangeByScoreWithScores(String key, String min,
String max, int offset, int count) {
return master.zrangeByScoreWithScores(key, min, max, offset, count);
}
public Set zrevrangeByScoreWithScores(String key, double max,
double min, int offset, int count) {
return master.zrevrangeByScoreWithScores(key, max, min, offset, count);
}
public Set zrevrangeByScoreWithScores(String key, String max,
String min, int offset, int count) {
return master.zrevrangeByScoreWithScores(key, max, min, offset, count);
}
public Long zremrangeByRank(String key, long start, long end) {
return master.zremrangeByRank(key, start, end);
}
public Long zremrangeByScore(String key, double start, double end) {
return master.zremrangeByScore(key, start, end);
}
public Long zremrangeByScore(String key, String start, String end) {
return master.zremrangeByScore(key, start, end);
}
public Long zlexcount(String key, String min, String max) {
return master.zlexcount(key, min, max);
}
public Set zrangeByLex(String key, String min, String max) {
return master.zrangeByLex(key, min, max);
}
public Set zrangeByLex(String key, String min, String max,
int offset, int count) {
return master.zrangeByLex(key, min, max, offset, count);
}
public Long zremrangeByLex(String key, String min, String max) {
return master.zremrangeByLex(key, min, max);
}
public Long linsert(String key, LIST_POSITION where, String pivot,
String value) {
return master.linsert(key, where, pivot, value);
}
public Long lpushx(String key, String... string) {
return master.lpushx(key, string);
}
public Long rpushx(String key, String... string) {
return master.rpushx(key, string);
}
@Deprecated
public List blpop(String arg) {
return master.blpop(arg);
}
public List blpop(int timeout, String key) {
return master.blpop(timeout, key);
}
@Deprecated
public List brpop(String arg) {
return master.brpop(arg);
}
public List brpop(int timeout, String key) {
return master.brpop(timeout, key);
}
public Long del(String key) {
return master.del(key);
}
public String echo(String string) {
return master.echo(string);
}
public Long move(String key, int dbIndex) {
return master.move(key, dbIndex);
}
public Long bitcount(String key) {
return master.bitcount(key);
}
public Long bitcount(String key, long start, long end) {
return master.bitcount(key, start, end);
}
@Deprecated
public ScanResult> hscan(String key, int cursor) {
return master.hscan(key, cursor);
}
@Deprecated
public ScanResult sscan(String key, int cursor) {
return master.sscan(key, cursor);
}
@Deprecated
public ScanResult zscan(String key, int cursor) {
return master.zscan(key, cursor);
}
public ScanResult> hscan(String key, String cursor) {
return master.hscan(key, cursor);
}
public ScanResult sscan(String key, String cursor) {
return master.sscan(key, cursor);
}
public ScanResult zscan(String key, String cursor) {
return master.zscan(key, cursor);
}
public Long pfadd(String key, String... elements) {
return master.pfadd(key, elements);
}
public long pfcount(String key) {
return master.pfcount(key);
}
public Object eval(byte[] script, byte[] keyCount, byte[]... params) {
return master.eval(script, keyCount, params);
}
public Object eval(byte[] script, int keyCount, byte[]... params) {
return master.eval(script, keyCount, params);
}
public Object eval(byte[] script, List keys, List args) {
return master.eval(script, keys, args);
}
public Object eval(byte[] script) {
return master.eval(script);
}
public Object evalsha(byte[] script) {
return master.evalsha(script);
}
public Object evalsha(byte[] sha1, List keys, List args) {
return master.evalsha(sha1, keys, args);
}
public Object evalsha(byte[] sha1, int keyCount, byte[]... params) {
return master.evalsha(sha1, keyCount, params);
}
public List scriptExists(byte[]... sha1) {
return master.scriptExists(sha1);
}
public byte[] scriptLoad(byte[] script) {
return master.scriptLoad(script);
}
public String scriptFlush() {
return master.scriptFlush();
}
public String scriptKill() {
return master.scriptKill();
}
public List configGet(byte[] pattern) {
return master.configGet(pattern);
}
public byte[] configSet(byte[] parameter, byte[] value) {
return master.configSet(parameter, value);
}
public String slowlogReset() {
return master.slowlogReset();
}
public Long slowlogLen() {
return master.slowlogLen();
}
public List slowlogGetBinary() {
return master.slowlogGetBinary();
}
public List slowlogGetBinary(long entries) {
return master.slowlogGetBinary(entries);
}
public Long objectRefcount(byte[] key) {
return master.objectRefcount(key);
}
public byte[] objectEncoding(byte[] key) {
return master.objectEncoding(key);
}
public Long objectIdletime(byte[] key) {
return master.objectIdletime(key);
}
public Long del(byte[]... keys) {
return master.del(keys);
}
public List blpop(int timeout, byte[]... keys) {
return master.blpop(timeout, keys);
}
public List brpop(int timeout, byte[]... keys) {
return master.brpop(timeout, keys);
}
public List blpop(byte[]... args) {
return master.blpop(args);
}
public List brpop(byte[]... args) {
return master.brpop(args);
}
public Set keys(byte[] pattern) {
return master.keys(pattern);
}
public List mget(byte[]... keys) {
return master.mget(keys);
}
public String mset(byte[]... keysvalues) {
return master.mset(keysvalues);
}
public Long msetnx(byte[]... keysvalues) {
return master.msetnx(keysvalues);
}
public String rename(byte[] oldkey, byte[] newkey) {
return master.rename(oldkey, newkey);
}
public Long renamenx(byte[] oldkey, byte[] newkey) {
return master.renamenx(oldkey, newkey);
}
public byte[] rpoplpush(byte[] srckey, byte[] dstkey) {
return master.rpoplpush(srckey, dstkey);
}
public Set sdiff(byte[]... keys) {
return master.sdiff(keys);
}
public Long sdiffstore(byte[] dstkey, byte[]... keys) {
return master.sdiffstore(dstkey, keys);
}
public Set sinter(byte[]... keys) {
return master.sinter(keys);
}
public Long sinterstore(byte[] dstkey, byte[]... keys) {
return master.sinterstore(dstkey, keys);
}
public Long smove(byte[] srckey, byte[] dstkey, byte[] member) {
return master.smove(srckey, dstkey, member);
}
public Long sort(byte[] key, SortingParams sortingParameters, byte[] dstkey) {
return master.sort(key, sortingParameters, dstkey);
}
public Long sort(byte[] key, byte[] dstkey) {
return master.sort(key, dstkey);
}
public Set sunion(byte[]... keys) {
return master.sunion(keys);
}
public Long sunionstore(byte[] dstkey, byte[]... keys) {
return master.sunionstore(dstkey, keys);
}
public String watch(byte[]... keys) {
return master.watch(keys);
}
public String unwatch() {
return master.unwatch();
}
public Long zinterstore(byte[] dstkey, byte[]... sets) {
return master.zinterstore(dstkey, sets);
}
public Long zinterstore(byte[] dstkey, ZParams params, byte[]... sets) {
return master.zinterstore(dstkey, params, sets);
}
public Long zunionstore(byte[] dstkey, byte[]... sets) {
return master.zunionstore(dstkey, sets);
}
public Long zunionstore(byte[] dstkey, ZParams params, byte[]... sets) {
return master.zunionstore(dstkey, params, sets);
}
public byte[] brpoplpush(byte[] source, byte[] destination, int timeout) {
return master.brpoplpush(source, destination, timeout);
}
public Long publish(byte[] channel, byte[] message) {
return master.publish(channel, message);
}
public void subscribe(BinaryJedisPubSub jedisPubSub, byte[]... channels) {
master.subscribe(jedisPubSub, channels);
}
public void psubscribe(BinaryJedisPubSub jedisPubSub, byte[]... patterns) {
master.psubscribe(jedisPubSub, patterns);
}
public byte[] randomBinaryKey() {
return master.randomBinaryKey();
}
public Long bitop(BitOP op, byte[] destKey, byte[]... srcKeys) {
return master.bitop(op, destKey, srcKeys);
}
public String pfmerge(byte[] destkey, byte[]... sourcekeys) {
return master.pfmerge(destkey, sourcekeys);
}
public Long pfcount(byte[]... keys) {
return master.pfcount(keys);
}
public String set(byte[] key, byte[] value) {
return master.set(key, value);
}
public byte[] get(byte[] key) {
return master.get(key);
}
public Boolean exists(byte[] key) {
return master.exists(key);
}
public Long persist(byte[] key) {
return master.persist(key);
}
public String type(byte[] key) {
return master.type(key);
}
public Long expire(byte[] key, int seconds) {
return master.expire(key, seconds);
}
public Long expireAt(byte[] key, long unixTime) {
return master.expireAt(key, unixTime);
}
public Long ttl(byte[] key) {
return master.ttl(key);
}
public Boolean setbit(byte[] key, long offset, boolean value) {
return master.setbit(key, offset, value);
}
public Boolean setbit(byte[] key, long offset, byte[] value) {
return master.setbit(key, offset, value);
}
public Boolean getbit(byte[] key, long offset) {
return master.getbit(key, offset);
}
public Long setrange(byte[] key, long offset, byte[] value) {
return master.setrange(key, offset, value);
}
public byte[] getrange(byte[] key, long startOffset, long endOffset) {
return master.getrange(key, startOffset, endOffset);
}
public byte[] getSet(byte[] key, byte[] value) {
return master.getSet(key, value);
}
public Long setnx(byte[] key, byte[] value) {
return master.setnx(key, value);
}
public String setex(byte[] key, int seconds, byte[] value) {
return master.setex(key, seconds, value);
}
public Long decrBy(byte[] key, long integer) {
return master.decrBy(key, integer);
}
public Long decr(byte[] key) {
return master.decr(key);
}
public Long incrBy(byte[] key, long integer) {
return master.incrBy(key, integer);
}
public Double incrByFloat(byte[] key, double value) {
return master.incrByFloat(key, value);
}
public Long incr(byte[] key) {
return master.incr(key);
}
public Long append(byte[] key, byte[] value) {
return master.append(key, value);
}
public byte[] substr(byte[] key, int start, int end) {
return master.substr(key, start, end);
}
public Long hset(byte[] key, byte[] field, byte[] value) {
return master.hset(key, field, value);
}
public byte[] hget(byte[] key, byte[] field) {
return master.hget(key, field);
}
public Long hsetnx(byte[] key, byte[] field, byte[] value) {
return master.hsetnx(key, field, value);
}
public String hmset(byte[] key, Map hash) {
return master.hmset(key, hash);
}
public List hmget(byte[] key, byte[]... fields) {
return master.hmget(key, fields);
}
public Long hincrBy(byte[] key, byte[] field, long value) {
return master.hincrBy(key, field, value);
}
public Double hincrByFloat(byte[] key, byte[] field, double value) {
return master.hincrByFloat(key, field, value);
}
public Boolean hexists(byte[] key, byte[] field) {
return master.hexists(key, field);
}
public Long hdel(byte[] key, byte[]... fields) {
return master.hdel(key, fields);
}
public Long hlen(byte[] key) {
return master.hlen(key);
}
public Set hkeys(byte[] key) {
return master.hkeys(key);
}
public Collection hvals(byte[] key) {
return master.hvals(key);
}
public Map hgetAll(byte[] key) {
return master.hgetAll(key);
}
public Long rpush(byte[] key, byte[]... args) {
return master.rpush(key, args);
}
public Long lpush(byte[] key, byte[]... args) {
return master.lpush(key, args);
}
public Long llen(byte[] key) {
return master.llen(key);
}
public List lrange(byte[] key, long start, long end) {
return master.lrange(key, start, end);
}
public String ltrim(byte[] key, long start, long end) {
return master.ltrim(key, start, end);
}
public byte[] lindex(byte[] key, long index) {
return master.lindex(key, index);
}
public String lset(byte[] key, long index, byte[] value) {
return master.lset(key, index, value);
}
public Long lrem(byte[] key, long count, byte[] value) {
return master.lrem(key, count, value);
}
public byte[] lpop(byte[] key) {
return master.lpop(key);
}
public byte[] rpop(byte[] key) {
return master.rpop(key);
}
public Long sadd(byte[] key, byte[]... members) {
return master.sadd(key, members);
}
public Set smembers(byte[] key) {
return master.smembers(key);
}
public Long srem(byte[] key, byte[]... member) {
return master.srem(key, member);
}
public byte[] spop(byte[] key) {
return master.spop(key);
}
public Long scard(byte[] key) {
return master.scard(key);
}
public Boolean sismember(byte[] key, byte[] member) {
return master.sismember(key, member);
}
public byte[] srandmember(byte[] key) {
return master.srandmember(key);
}
public List srandmember(byte[] key, int count) {
return master.srandmember(key, count);
}
public Long strlen(byte[] key) {
return master.strlen(key);
}
public Long zadd(byte[] key, double score, byte[] member) {
return master.zadd(key, score, member);
}
public Long zadd(byte[] key, Map scoreMembers) {
return master.zadd(key, scoreMembers);
}
public Set zrange(byte[] key, long start, long end) {
return master.zrange(key, start, end);
}
public Long zrem(byte[] key, byte[]... members) {
return master.zrem(key, members);
}
public Double zincrby(byte[] key, double score, byte[] member) {
return master.zincrby(key, score, member);
}
public Long zrank(byte[] key, byte[] member) {
return master.zrank(key, member);
}
public Long zrevrank(byte[] key, byte[] member) {
return master.zrevrank(key, member);
}
public Set zrevrange(byte[] key, long start, long end) {
return master.zrevrange(key, start, end);
}
public Set zrangeWithScores(byte[] key, long start, long end) {
return master.zrangeWithScores(key, start, end);
}
public Set zrevrangeWithScores(byte[] key, long start, long end) {
return master.zrevrangeWithScores(key, start, end);
}
public Long zcard(byte[] key) {
return master.zcard(key);
}
public Double zscore(byte[] key, byte[] member) {
return master.zscore(key, member);
}
public List sort(byte[] key) {
return master.sort(key);
}
public List sort(byte[] key, SortingParams sortingParameters) {
return master.sort(key, sortingParameters);
}
public Long zcount(byte[] key, double min, double max) {
return master.zcount(key, min, max);
}
public Long zcount(byte[] key, byte[] min, byte[] max) {
return master.zcount(key, min, max);
}
public Set zrangeByScore(byte[] key, double min, double max) {
return master.zrangeByScore(key, min, max);
}
public Set zrangeByScore(byte[] key, byte[] min, byte[] max) {
return master.zrangeByScore(key, min, max);
}
public Set zrevrangeByScore(byte[] key, double max, double min) {
return master.zrevrangeByScore(key, max, min);
}
public Set zrangeByScore(byte[] key, double min, double max,
int offset, int count) {
return master.zrangeByScore(key, min, max, offset, count);
}
public Set zrevrangeByScore(byte[] key, byte[] max, byte[] min) {
return master.zrevrangeByScore(key, max, min);
}
public Set zrangeByScore(byte[] key, byte[] min, byte[] max,
int offset, int count) {
return master.zrangeByScore(key, min, max, offset, count);
}
public Set zrevrangeByScore(byte[] key, double max, double min,
int offset, int count) {
return master.zrevrangeByScore(key, max, min, offset, count);
}
public Set zrangeByScoreWithScores(byte[] key, double min, double max) {
return master.zrangeByScoreWithScores(key, min, max);
}
public Set zrevrangeByScoreWithScores(byte[] key, double max,
double min) {
return master.zrevrangeByScoreWithScores(key, max, min);
}
public Set zrangeByScoreWithScores(byte[] key, double min,
double max, int offset, int count) {
return master.zrangeByScoreWithScores(key, min, max, offset, count);
}
public Set zrevrangeByScore(byte[] key, byte[] max, byte[] min,
int offset, int count) {
return master.zrevrangeByScore(key, max, min, offset, count);
}
public Set zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max) {
return master.zrangeByScoreWithScores(key, min, max);
}
public Set zrevrangeByScoreWithScores(byte[] key, byte[] max,
byte[] min) {
return master.zrevrangeByScoreWithScores(key, max, min);
}
public Set zrangeByScoreWithScores(byte[] key, byte[] min,
byte[] max, int offset, int count) {
return master.zrangeByScoreWithScores(key, min, max, offset, count);
}
public Set zrevrangeByScoreWithScores(byte[] key, double max,
double min, int offset, int count) {
return master.zrevrangeByScoreWithScores(key, max, min, offset, count);
}
public Set zrevrangeByScoreWithScores(byte[] key, byte[] max,
byte[] min, int offset, int count) {
return master.zrevrangeByScoreWithScores(key, max, min, offset, count);
}
public Long zremrangeByRank(byte[] key, long start, long end) {
return master.zremrangeByRank(key, start, end);
}
public Long zremrangeByScore(byte[] key, double start, double end) {
return master.zremrangeByScore(key, start, end);
}
public Long zremrangeByScore(byte[] key, byte[] start, byte[] end) {
return master.zremrangeByScore(key, start, end);
}
public Long zlexcount(byte[] key, byte[] min, byte[] max) {
return master.zlexcount(key, min, max);
}
public Set zrangeByLex(byte[] key, byte[] min, byte[] max) {
return master.zrangeByLex(key, min, max);
}
public Set zrangeByLex(byte[] key, byte[] min, byte[] max,
int offset, int count) {
return master.zrangeByLex(key, min, max, offset, count);
}
public Long zremrangeByLex(byte[] key, byte[] min, byte[] max) {
return master.zremrangeByLex(key, min, max);
}
public Long linsert(byte[] key, LIST_POSITION where, byte[] pivot,
byte[] value) {
return master.linsert(key, where, pivot, value);
}
public Long lpushx(byte[] key, byte[]... arg) {
return master.lpushx(key, arg);
}
public Long rpushx(byte[] key, byte[]... arg) {
return master.rpushx(key, arg);
}
@Deprecated
public List blpop(byte[] arg) {
return master.blpop(arg);
}
@Deprecated
public List brpop(byte[] arg) {
return master.brpop(arg);
}
public Long del(byte[] key) {
return master.del(key);
}
public byte[] echo(byte[] arg) {
return master.echo(arg);
}
public Long move(byte[] key, int dbIndex) {
return master.move(key, dbIndex);
}
public Long bitcount(byte[] key) {
return master.bitcount(key);
}
public Long bitcount(byte[] key, long start, long end) {
return master.bitcount(key, start, end);
}
public Long pfadd(byte[] key, byte[]... elements) {
return master.pfadd(key, elements);
}
public long pfcount(byte[] key) {
return master.pfcount(key);
}
public String ping() {
return master.ping();
}
public String quit() {
return master.quit();
}
public String flushDB() {
return master.flushDB();
}
public Long dbSize() {
return master.dbSize();
}
public String select(int index) {
return master.select(index);
}
public String flushAll() {
return master.flushAll();
}
public String auth(String password) {
return master.auth(password);
}
public String save() {
return master.save();
}
public String bgsave() {
return master.bgsave();
}
public String bgrewriteaof() {
return master.bgrewriteaof();
}
public Long lastsave() {
return master.lastsave();
}
public String shutdown() {
return master.shutdown();
}
public String info() {
return master.info();
}
public String info(String section) {
return master.info(section);
}
public String slaveof(String host, int port) {
return master.slaveof(host, port);
}
public String slaveofNoOne() {
return master.slaveofNoOne();
}
public Long getDB() {
return master.getDB();
}
public String debug(DebugParams params) {
return master.debug(params);
}
public String configResetStat() {
return master.configResetStat();
}
public Long waitReplicas(int replicas, long timeout) {
return master.waitReplicas(replicas, timeout);
}
public void close() {
if (dataSource != null) {
boolean broken = getClient().isBroken();
if(!broken){
for (Jedis jedis : getAllShards()) {
if (jedis.getClient().isBroken()) {
broken = true;
break;
}
}
}
if (broken) {
dataSource.returnBrokenResource(this);
} else {
dataSource.returnResource(this);
}
} else {
disconnect();
}
}
public void setDataSource(Pool shardedMasterSlaveJedisPool) {
this.dataSource = shardedMasterSlaveJedisPool;
}
public void resetState() {
master.resetState();
for (Jedis jedis : getAllShards()) {
jedis.resetState();
}
}
public void disconnect() {
if(master != null){
try {
master.quit();
} catch (JedisConnectionException e) {
// ignore the exception node, so that all other normal nodes can
// release all connections.
}
}
for (Jedis jedis : getAllShards()) {
try {
jedis.quit();
} catch (JedisConnectionException e) {
// ignore the exception node, so that all other normal nodes can
// release all connections.
}
try {
jedis.disconnect();
} catch (JedisConnectionException e) {
// ignore the exception node, so that all other normal nodes can
// release all connections.
}
}
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("MasterSlaveJedis {master=" + masterShard.getHost() + ":" + masterShard.getPort() + ", slaves=");
sb.append("[");
for(int i = 0, len = slaveShards.size(); i < len; i++){
sb.append(slaveShards.get(i).getHost() + ":" + slaveShards.get(i).getPort());
if(i != len - 1){
sb.append(", ");
}
}
sb.append("]}");
return sb.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy