/** * Indicates the use of a connection pool. * * @return the use of connection pooling. */ public boolean getUsePool() { // Jedis Sentinel cannot operate without a pool. if (isRedisSentinelAware()) { return true; } return clientConfiguration.isUsePooling(); }
@Override public byte[] randomKey(RedisClusterNode node) { return doGetKeyCommands().randomKey(node); }
public RedisConnection getConnection() { if (isRedisClusterAware()) { return getClusterConnection(); } Jedis jedis = fetchJedisConnector(); String clientName = clientConfiguration.getClientName().orElse(null); JedisConnection connection = (getUsePool() ? new JedisConnection(jedis, pool, getDatabase(), clientName) : new JedisConnection(jedis, null, getDatabase(), clientName)); connection.setConvertPipelineAndTxResults(convertPipelineAndTxResults); return postProcessConnection(connection); }
private JedisCluster createCluster() { JedisCluster cluster = createCluster((RedisClusterConfiguration) this.configuration, getPoolConfig()); JedisClusterTopologyProvider topologyProvider = new JedisClusterTopologyProvider(cluster); this.clusterCommandExecutor = new ClusterCommandExecutor(topologyProvider, new JedisClusterConnection.JedisClusterNodeResourceProvider(cluster, topologyProvider), EXCEPTION_TRANSLATION); return cluster; }
@Override protected JedisSentinelConnection getSentinelConnection(RedisNode sentinel) { return new JedisSentinelConnection(getJedis(sentinel)); }
@Override public Set<byte[]> keys(RedisClusterNode node, byte[] pattern) { return doGetKeyCommands().keys(node, pattern); }
@Override public Cursor<byte[]> scan(RedisClusterNode node, ScanOptions options) { return doGetKeyCommands().scan(node, options); }
public static JedisClientConfiguration create(JedisShardInfo shardInfo) { MutableJedisClientConfiguration configuration = new MutableJedisClientConfiguration(); configuration.setShardInfo(shardInfo); return configuration; }
/** * Sets the pool configuration for this factory. * * @param poolConfig the poolConfig to set. * @deprecated since 2.0, configure {@link JedisPoolConfig} using {@link JedisClientConfiguration}. * @throws IllegalStateException if {@link JedisClientConfiguration} is immutable. */ @Deprecated public void setPoolConfig(JedisPoolConfig poolConfig) { getMutableConfiguration().setPoolConfig(poolConfig); }
@Override public List<RedisClientInfo> getClientList(RedisClusterNode node) { return JedisConverters .toListOfRedisClientInformation(executeCommandOnSingleNode(Jedis::clientList, node).getValue()); }
@Override public void shutdown() { if (connectionFactory != null) { connectionFactory.destroy(); connectionFactory = null; } }
/** * Constructs a new <code>JedisConnectionFactory</code> instance with default settings (default connection pooling, no * shard information). */ public JedisConnectionFactory() { this(new MutableJedisClientConfiguration()); }
/** * @return a new {@link JedisStatusResult} wrapper for status results with configuration applied from this builder. */ JedisStatusResult buildStatusResult() { return new JedisStatusResult<>(response, converter); } }
/** * Returns whether to use SSL. * * @return use of SSL. * @since 1.8 */ public boolean isUseSsl() { return clientConfiguration.isUseSsl(); }
/** * Returns the timeout. * * @return the timeout. */ public int getTimeout() { return getReadTimeout(); }
/** * Get a {@link Converter} capable of converting {@link GeoRadiusResponse} into {@link GeoResults}. * * @param metric * @return * @since 1.8 */ public static Converter<List<redis.clients.jedis.GeoRadiusResponse>, GeoResults<GeoLocation<byte[]>>> geoRadiusResponseToGeoResultsConverter( Metric metric) { return GeoResultsConverterFactory.INSTANCE.forMetric(metric); }
/** * Constructs a new {@link JedisConnectionFactory} instance using the given {@link RedisStandaloneConfiguration}. * * @param standaloneConfig must not be {@literal null}. * @since 2.0 */ public JedisConnectionFactory(RedisStandaloneConfiguration standaloneConfig) { this(standaloneConfig, new MutableJedisClientConfiguration()); }
/** * Constructs a new {@link JedisConnectionFactory} instance using the given {@link JedisPoolConfig} applied to * {@link JedisSentinelPool}. * * @param sentinelConfig must not be {@literal null}. * @since 1.4 */ public JedisConnectionFactory(RedisSentinelConfiguration sentinelConfig) { this(sentinelConfig, new MutableJedisClientConfiguration()); }
/** * Constructs a new {@link JedisConnectionFactory} instance using the given {@link RedisClusterConfiguration} applied * to create a {@link JedisCluster}. * * @param clusterConfig must not be {@literal null}. * @since 1.7 */ public JedisConnectionFactory(RedisClusterConfiguration clusterConfig) { this(clusterConfig, new MutableJedisClientConfiguration()); }