Skip to content

Connection Setup

  • Jedis offers multiple constructors for different connection configurations
  • Glide uses a single configuration object that comes pre-configured with best practices

Glide typically requires minimal configuration changes for:

  • Timeout settings
  • TLS configuration
  • Read from replica settings
  • User authentication (username & password)

For advanced configurations, refer to the Jave Glide Guides.

// Simple connection
Jedis jedis = new Jedis("localhost", 6379);
// With options
Jedis jedisWithOptions = new Jedis("localhost", 6379, 2000);
jedisWithOptions.auth("password");
jedisWithOptions.select(0);
// Simple cluster connection
Set<HostAndPort> jedisClusterNodes = new HashSet<>();
jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7000));
jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7001));
JedisCluster cluster = new JedisCluster(jedisClusterNodes);
// With options
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(128);
poolConfig.setMaxIdle(128);
poolConfig.setMinIdle(16);
poolConfig.setTestOnBorrow(true);
poolConfig.setTestOnReturn(true);
poolConfig.setTestWhileIdle(true);
JedisCluster clusterWithOptions = new JedisCluster(jedisClusterNodes, 2000, 2000, 5, "password", poolConfig);

The table below compares Jedis constructors with Glide configuration parameters:

Jedis ParameterEquivalent Glide Configuration
host: Stringaddress(NodeAddress.builder().host(host).build())
port: intaddress(NodeAddress.builder().port(port).build())
timeout: intrequestTimeout(timeout)
password: Stringcredentials(ServerCredentials.builder().password(password).build())
user: Stringcredentials(ServerCredentials.builder().username(user).build())
db: intUse client.select(db) after connection
ssl: booleanuseTLS(true)
maxAttempts: intconnectionBackoff(ConnectionBackoffStrategy.builder().numberOfRetries(maxAttempts).build())
clientName: StringclientName(String)
readFrom: ReadFromreadFrom(ReadFrom.REPLICA) / readFrom(ReadFrom.PREFER_REPLICA) / readFrom(ReadFrom.AZ_AFFINITY) / readFrom(ReadFrom.AZ_AFFINITY_REPLICAS_AND_PRIMARY) Read about AZ affinity
lazyConnect: booleanNot supported yet

Standalone Mode uses GlideClientConfiguration and Cluster Mode uses GlideClusterClientConfiguration, but the usage is similar:

// Standalone mode
GlideClientConfiguration config = GlideClientConfiguration.builder()
.address(NodeAddress.builder()
.host("localhost")
.port(6379)
.build())
.requestTimeout(500)
.build();
GlideClient client = GlideClient.createClient(config).get();
// Cluster mode
GlideClusterClientConfiguration clusterConfig = GlideClusterClientConfiguration.builder()
.address(NodeAddress.builder()
.host("localhost")
.port(7000)
.build())
.requestTimeout(500)
.build();
GlideClusterClient clusterClient = GlideClusterClient.createClient(clusterConfig).get();