public class RedisClusterClient extends UnifiedJedis
This class is intended as a modern replacement for the deprecated JedisCluster class. It
supports all cluster operations and is designed to work seamlessly with the UnifiedJedis
API, allowing for consistent usage patterns across standalone, sentinel, and cluster deployments.
Usage:
Set<HostAndPort> clusterNodes = new HashSet<>();
clusterNodes.add(new HostAndPort("127.0.0.1", 7000));
RedisClusterClient client = RedisClusterClient.create(clusterNodes);
client.set("key", "value");
String value = client.get("key");
Migration: Users of JedisCluster are encouraged to migrate to this class for
improved API consistency, better resource management, and enhanced support for future Redis
features.
Thread-safety: This client is thread-safe and can be shared across multiple threads.
Configuration: Use the builder() method for advanced configuration, or the
create(HostAndPort) and create(Set) factory methods for simple use cases.
| Modifier and Type | Class and Description |
|---|---|
static class |
RedisClusterClient.Builder
Fluent builder for
RedisClusterClient (Redis Cluster). |
| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_MAX_ATTEMPTS
Default amount of attempts for executing a command
|
static int |
DEFAULT_TIMEOUT
Default timeout in milliseconds.
|
static java.lang.String |
INIT_NO_ERROR_PROPERTY |
commandObjects, executor, protocol, provider| Modifier and Type | Method and Description |
|---|---|
static RedisClusterClient.Builder |
builder()
Create a new builder for configuring RedisClusterClient instances.
|
static RedisClusterClient |
create(HostAndPort node)
Creates a RedisClusterClient instance.
|
static RedisClusterClient |
create(java.util.Set<HostAndPort> nodes)
Creates a RedisClusterClient with multiple entry points.
|
static RedisClusterClient |
create(java.util.Set<HostAndPort> nodes,
java.lang.String user,
java.lang.String password)
Creates a RedisClusterClient with multiple entry points and authentication.
|
<T> T |
executeCommandToReplica(CommandObject<T> commandObject) |
java.util.Map<java.lang.String,ConnectionPool> |
getClusterNodes()
Returns all nodes that were configured to connect to in key-value pairs (
Map). |
Connection |
getConnectionFromSlot(int slot)
Returns the connection for one of the 16,384 slots.
|
ClusterPipeline |
pipelined() |
long |
spublish(byte[] channel,
byte[] message) |
long |
spublish(java.lang.String channel,
java.lang.String message) |
void |
ssubscribe(BinaryJedisShardedPubSub jedisPubSub,
byte[]... channels) |
void |
ssubscribe(JedisShardedPubSub jedisPubSub,
java.lang.String... channels) |
AbstractTransaction |
transaction(boolean doMulti) |
append, append, bfAdd, bfCard, bfExists, bfInfo, bfInsert, bfInsert, bfLoadChunk, bfMAdd, bfMExists, bfReserve, bfReserve, bfScanDump, bitcount, bitcount, bitcount, bitcount, bitcount, bitcount, bitfield, bitfield, bitfieldReadonly, bitfieldReadonly, bitop, bitop, bitpos, bitpos, bitpos, bitpos, blmove, blmove, blmpop, blmpop, blmpop, blmpop, blpop, blpop, blpop, blpop, blpop, blpop, broadcastCommand, brpop, brpop, brpop, brpop, brpop, brpop, brpoplpush, brpoplpush, bzmpop, bzmpop, bzmpop, bzmpop, bzpopmax, bzpopmax, bzpopmin, bzpopmin, cfAdd, cfAddNx, cfCount, cfDel, cfExists, cfInfo, cfInsert, cfInsert, cfInsertNx, cfInsertNx, cfLoadChunk, cfMExists, cfReserve, cfReserve, cfScanDump, close, cmsIncrBy, cmsInfo, cmsInitByDim, cmsInitByProb, cmsMerge, cmsMerge, cmsQuery, configSet, copy, copy, dbSize, decr, decr, decrBy, decrBy, del, del, del, del, delex, delex, digestKey, digestKey, dump, dump, echo, eval, eval, eval, eval, eval, eval, eval, eval, evalReadonly, evalReadonly, evalsha, evalsha, evalsha, evalsha, evalsha, evalsha, evalsha, evalsha, evalshaReadonly, evalshaReadonly, executeCommand, executeCommand, exists, exists, exists, exists, expire, expire, expire, expire, expireAt, expireAt, expireAt, expireAt, expireTime, expireTime, fcall, fcall, fcallReadonly, fcallReadonly, flushAll, flushDB, ftAggregate, ftAggregateIteration, ftAliasAdd, ftAliasDel, ftAliasUpdate, ftAlter, ftAlter, ftConfigGet, ftConfigGet, ftConfigSet, ftConfigSet, ftCreate, ftCreate, ftCursorDel, ftCursorRead, ftDictAdd, ftDictAddBySampleKey, ftDictDel, ftDictDelBySampleKey, ftDictDump, ftDictDumpBySampleKey, ftDropIndex, ftDropIndexDD, ftExplain, ftExplainCLI, ftInfo, ftList, ftProfileAggregate, ftProfileSearch, ftProfileSearch, ftSearch, ftSearch, ftSearch, ftSearch, ftSearchIteration, ftSearchIteration, ftSpellCheck, ftSpellCheck, ftSugAdd, ftSugAddIncr, ftSugDel, ftSugGet, ftSugGet, ftSugGetWithScores, ftSugGetWithScores, ftSugLen, ftSynDump, ftSynUpdate, ftTagVals, functionDelete, functionDelete, functionDump, functionFlush, functionFlush, functionKill, functionList, functionList, functionList, functionListBinary, functionListWithCode, functionListWithCode, functionListWithCode, functionListWithCodeBinary, functionLoad, functionLoad, functionLoadReplace, functionLoadReplace, functionRestore, functionRestore, functionStats, functionStatsBinary, geoadd, geoadd, geoadd, geoadd, geoadd, geoadd, geodist, geodist, geodist, geodist, geohash, geohash, geopos, geopos, georadius, georadius, georadius, georadius, georadiusByMember, georadiusByMember, georadiusByMember, georadiusByMember, georadiusByMemberReadonly, georadiusByMemberReadonly, georadiusByMemberReadonly, georadiusByMemberReadonly, georadiusByMemberStore, georadiusByMemberStore, georadiusReadonly, georadiusReadonly, georadiusReadonly, georadiusReadonly, georadiusStore, georadiusStore, geosearch, geosearch, geosearch, geosearch, geosearch, geosearch, geosearch, geosearch, geosearch, geosearch, geosearchStore, geosearchStore, geosearchStore, geosearchStore, geosearchStore, geosearchStore, geosearchStore, geosearchStore, geosearchStore, geosearchStore, geosearchStoreStoreDist, geosearchStoreStoreDist, get, get, getbit, getbit, getCache, getDel, getDel, getEx, getEx, getrange, getrange, getSet, getSet, hdel, hdel, hexists, hexists, hexpire, hexpire, hexpire, hexpire, hexpireAt, hexpireAt, hexpireAt, hexpireAt, hexpireTime, hexpireTime, hget, hget, hgetAll, hgetAll, hgetdel, hgetdel, hgetex, hgetex, hincrBy, hincrBy, hincrByFloat, hincrByFloat, hkeys, hkeys, hlen, hlen, hmget, hmget, hmset, hmset, hpersist, hpersist, hpexpire, hpexpire, hpexpire, hpexpire, hpexpireAt, hpexpireAt, hpexpireAt, hpexpireAt, hpexpireTime, hpexpireTime, hpttl, hpttl, hrandfield, hrandfield, hrandfield, hrandfield, hrandfieldWithValues, hrandfieldWithValues, hscan, hscan, hscanNoValues, hscanNoValues, hset, hset, hset, hset, hsetex, hsetex, hsetex, hsetex, hsetnx, hsetnx, hsetObject, hsetObject, hstrlen, hstrlen, httl, httl, hvals, hvals, incr, incr, incrBy, incrBy, incrByFloat, incrByFloat, info, info, jsonArrAppend, jsonArrAppend, jsonArrAppendWithEscape, jsonArrIndex, jsonArrIndex, jsonArrIndexWithEscape, jsonArrInsert, jsonArrInsert, jsonArrInsertWithEscape, jsonArrLen, jsonArrLen, jsonArrLen, jsonArrPop, jsonArrPop, jsonArrPop, jsonArrPop, jsonArrPop, jsonArrPop, jsonArrPop, jsonArrPop, jsonArrTrim, jsonArrTrim, jsonClear, jsonClear, jsonClear, jsonDebugMemory, jsonDebugMemory, jsonDebugMemory, jsonDel, jsonDel, jsonDel, jsonGet, jsonGet, jsonGet, jsonGet, jsonGet, jsonGetAsPlainString, jsonMerge, jsonMerge, jsonMGet, jsonMGet, jsonNumIncrBy, jsonNumIncrBy, jsonObjKeys, jsonObjKeys, jsonObjKeys, jsonObjLen, jsonObjLen, jsonObjLen, jsonSet, jsonSet, jsonSet, jsonSet, jsonSetWithEscape, jsonSetWithEscape, jsonSetWithPlainString, jsonStrAppend, jsonStrAppend, jsonStrAppend, jsonStrLen, jsonStrLen, jsonStrLen, jsonToggle, jsonToggle, jsonType, jsonType, jsonType, keys, keys, lcs, lcs, lindex, lindex, linsert, linsert, llen, llen, lmove, lmove, lmpop, lmpop, lmpop, lmpop, lpop, lpop, lpop, lpop, lpos, lpos, lpos, lpos, lpos, lpos, lpush, lpush, lpushx, lpushx, lrange, lrange, lrem, lrem, lset, lset, ltrim, ltrim, memoryUsage, memoryUsage, memoryUsage, memoryUsage, mget, mget, migrate, migrate, migrate, migrate, mset, mset, msetex, msetex, msetnx, msetnx, multi, objectEncoding, objectEncoding, objectFreq, objectFreq, objectIdletime, objectIdletime, objectRefcount, objectRefcount, persist, persist, pexpire, pexpire, pexpire, pexpire, pexpireAt, pexpireAt, pexpireAt, pexpireAt, pexpireTime, pexpireTime, pfadd, pfadd, pfcount, pfcount, pfcount, pfcount, pfmerge, pfmerge, ping, psetex, psetex, psubscribe, psubscribe, pttl, pttl, publish, publish, randomBinaryKey, randomKey, rename, rename, renamenx, renamenx, restore, restore, restore, restore, rpop, rpop, rpop, rpop, rpoplpush, rpoplpush, rpush, rpush, rpushx, rpushx, sadd, sadd, scan, scan, scan, scan, scan, scan, scanIteration, scanIteration, scard, scard, scriptExists, scriptExists, scriptExists, scriptExists, scriptExists, scriptFlush, scriptFlush, scriptFlush, scriptFlush, scriptFlush, scriptKill, scriptKill, scriptKill, scriptLoad, scriptLoad, scriptLoad, sdiff, sdiff, sdiffstore, sdiffstore, sendBlockingCommand, sendBlockingCommand, sendBlockingCommand, sendBlockingCommand, sendCommand, sendCommand, sendCommand, sendCommand, sendCommand, set, set, set, set, setbit, setbit, setBroadcastAndRoundRobinConfig, setDefaultSearchDialect, setex, setex, setGet, setGet, setGet, setGet, setJsonObjectMapper, setKeyArgumentPreProcessor, setnx, setnx, setProtocol, setrange, setrange, sinter, sinter, sintercard, sintercard, sintercard, sintercard, sinterstore, sinterstore, sismember, sismember, slowlogReset, smembers, smembers, smismember, smismember, smove, smove, sort, sort, sort, sort, sort, sort, sort, sort, sortReadonly, sortReadonly, spop, spop, spop, spop, srandmember, srandmember, srandmember, srandmember, srem, srem, sscan, sscan, strlen, strlen, subscribe, subscribe, substr, substr, sunion, sunion, sunionstore, sunionstore, tdigestAdd, tdigestByRank, tdigestByRevRank, tdigestCDF, tdigestCreate, tdigestCreate, tdigestInfo, tdigestMax, tdigestMerge, tdigestMerge, tdigestMin, tdigestQuantile, tdigestRank, tdigestReset, tdigestRevRank, tdigestTrimmedMean, topkAdd, topkIncrBy, topkInfo, topkList, topkListWithCount, topkQuery, topkReserve, topkReserve, touch, touch, touch, touch, tsAdd, tsAdd, tsAdd, tsAdd, tsAlter, tsCreate, tsCreate, tsCreateRule, tsCreateRule, tsDecrBy, tsDecrBy, tsDecrBy, tsDel, tsDeleteRule, tsGet, tsGet, tsIncrBy, tsIncrBy, tsIncrBy, tsInfo, tsInfoDebug, tsMAdd, tsMGet, tsMRange, tsMRange, tsMRevRange, tsMRevRange, tsQueryIndex, tsRange, tsRange, tsRevRange, tsRevRange, ttl, ttl, type, type, unlink, unlink, unlink, unlink, vadd, vadd, vadd, vadd, vadd, vadd, vaddFP32, vaddFP32, vaddFP32, vaddFP32, vaddFP32, vaddFP32, vcard, vcard, vdim, vdim, vemb, vemb, vembRaw, vembRaw, vgetattr, vgetattr, vinfo, vlinks, vlinks, vlinksWithScores, vlinksWithScores, vrandmember, vrandmember, vrandmember, vrandmember, vrem, vrem, vsetattr, vsetattr, vsim, vsim, vsim, vsim, vsimByElement, vsimByElement, vsimByElement, vsimByElement, vsimByElementWithScores, vsimByElementWithScores, vsimByElementWithScoresAndAttribs, vsimByElementWithScoresAndAttribs, vsimWithScores, vsimWithScores, vsimWithScoresAndAttribs, vsimWithScoresAndAttribs, waitAOF, waitAOF, waitReplicas, waitReplicas, xack, xack, xackdel, xackdel, xackdel, xackdel, xadd, xadd, xadd, xautoclaim, xautoclaim, xautoclaimJustId, xautoclaimJustId, xclaim, xclaim, xclaimJustId, xclaimJustId, xdel, xdel, xdelex, xdelex, xdelex, xdelex, xgroupCreate, xgroupCreate, xgroupCreateConsumer, xgroupCreateConsumer, xgroupDelConsumer, xgroupDelConsumer, xgroupDestroy, xgroupDestroy, xgroupSetID, xgroupSetID, xinfoConsumers, xinfoConsumers, xinfoConsumers2, xinfoGroups, xinfoGroups, xinfoStream, xinfoStream, xinfoStreamFull, xinfoStreamFull, xinfoStreamFull, xinfoStreamFull, xlen, xlen, xpending, xpending, xpending, xpending, xrange, xrange, xrange, xrange, xrange, xrange, xread, xread, xreadAsMap, xreadBinary, xreadBinaryAsMap, xreadGroup, xreadGroup, xreadGroupAsMap, xreadGroupBinary, xreadGroupBinaryAsMap, xrevrange, xrevrange, xrevrange, xrevrange, xrevrange, xrevrange, xtrim, xtrim, xtrim, xtrim, zadd, zadd, zadd, zadd, zadd, zadd, zadd, zadd, zaddIncr, zaddIncr, zcard, zcard, zcount, zcount, zcount, zcount, zdiff, zdiff, zdiffstore, zdiffStore, zdiffstore, zdiffStore, zdiffWithScores, zdiffWithScores, zincrby, zincrby, zincrby, zincrby, zinter, zinter, zintercard, zintercard, zintercard, zintercard, zinterstore, zinterstore, zinterstore, zinterstore, zinterWithScores, zinterWithScores, zlexcount, zlexcount, zmpop, zmpop, zmpop, zmpop, zmscore, zmscore, zpopmax, zpopmax, zpopmax, zpopmax, zpopmin, zpopmin, zpopmin, zpopmin, zrandmember, zrandmember, zrandmember, zrandmember, zrandmemberWithScores, zrandmemberWithScores, zrange, zrange, zrange, zrange, zrangeByLex, zrangeByLex, zrangeByLex, zrangeByLex, zrangeByScore, zrangeByScore, zrangeByScore, zrangeByScore, zrangeByScore, zrangeByScore, zrangeByScore, zrangeByScore, zrangeByScoreWithScores, zrangeByScoreWithScores, zrangeByScoreWithScores, zrangeByScoreWithScores, zrangeByScoreWithScores, zrangeByScoreWithScores, zrangeByScoreWithScores, zrangeByScoreWithScores, zrangestore, zrangestore, zrangeWithScores, zrangeWithScores, zrangeWithScores, zrangeWithScores, zrank, zrank, zrankWithScore, zrankWithScore, zrem, zrem, zremrangeByLex, zremrangeByLex, zremrangeByRank, zremrangeByRank, zremrangeByScore, zremrangeByScore, zremrangeByScore, zremrangeByScore, zrevrange, zrevrange, zrevrangeByLex, zrevrangeByLex, zrevrangeByLex, zrevrangeByLex, zrevrangeByScore, zrevrangeByScore, zrevrangeByScore, zrevrangeByScore, zrevrangeByScore, zrevrangeByScore, zrevrangeByScore, zrevrangeByScore, zrevrangeByScoreWithScores, zrevrangeByScoreWithScores, zrevrangeByScoreWithScores, zrevrangeByScoreWithScores, zrevrangeByScoreWithScores, zrevrangeByScoreWithScores, zrevrangeByScoreWithScores, zrevrangeByScoreWithScores, zrevrangeWithScores, zrevrangeWithScores, zrevrank, zrevrank, zrevrankWithScore, zrevrankWithScore, zscan, zscan, zscore, zscore, zunion, zunion, zunionstore, zunionstore, zunionstore, zunionstore, zunionWithScores, zunionWithScoresclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waithscan, hscanNoValuessscanzscanxaddhscan, hscanNoValuessscanzscanxaddftAlter, ftAlter, ftCreate, ftCreate, ftCreate, ftSearchjsonMGet, jsonSetLegacy, jsonSetLegacyjsonMGet, jsonSet, jsonSet, jsonSetWithEscape, jsonSetWithEscapecmsIncrBytopkIncrBypublic static final java.lang.String INIT_NO_ERROR_PROPERTY
public static final int DEFAULT_TIMEOUT
public static final int DEFAULT_MAX_ATTEMPTS
public static RedisClusterClient create(HostAndPort node)
Here, the default timeout of 2000 ms is being used with 5 maximum attempts.
This is a convenience factory method that uses the builder pattern internally.
node - Node to first connect to.RedisClusterClient instancepublic static RedisClusterClient create(java.util.Set<HostAndPort> nodes)
Here, the default timeout of 2000 ms is being used with 5 maximum attempts.
This is a convenience factory method that uses the builder pattern internally.
nodes - Nodes to connect to.RedisClusterClient instancepublic static RedisClusterClient create(java.util.Set<HostAndPort> nodes, java.lang.String user, java.lang.String password)
Here, the default timeout of 2000 ms is being used with 5 maximum attempts.
This is a convenience factory method that uses the builder pattern internally.
nodes - Nodes to connect to.user - Username for authentication.password - Password for authentication.RedisClusterClient instancepublic static RedisClusterClient.Builder builder()
RedisClusterClient.Builder instancepublic java.util.Map<java.lang.String,ConnectionPool> getClusterNodes()
Map).public Connection getConnectionFromSlot(int slot)
slot - the slot to retrieve the connection for.close() of this connection must be called
after use.public long spublish(java.lang.String channel,
java.lang.String message)
public long spublish(byte[] channel,
byte[] message)
public void ssubscribe(JedisShardedPubSub jedisPubSub, java.lang.String... channels)
public void ssubscribe(BinaryJedisShardedPubSub jedisPubSub, byte[]... channels)
public ClusterPipeline pipelined()
pipelined in class UnifiedJedispublic AbstractTransaction transaction(boolean doMulti)
transaction in class UnifiedJedisdoMulti - paramjava.lang.UnsupportedOperationExceptionpublic final <T> T executeCommandToReplica(CommandObject<T> commandObject)
Copyright © 2025. All rights reserved.