クラス JedisConnectionFactory

java.lang.ObjectSE
org.springframework.data.redis.connection.jedis.JedisConnectionFactory
実装されたすべてのインターフェース:
DisposableBeanInitializingBeanLifecyclePhasedSmartLifecyclePersistenceExceptionTranslatorRedisConnectionFactory

public class JedisConnectionFactory extends ObjectSE implements RedisConnectionFactory, InitializingBean, DisposableBean, SmartLifecycle
Jedis ベースの接続を作成する接続ファクトリ。

JedisConnectionFactory は、環境構成と client configuration を使用して構成する必要があります。Jedis は、次の環境構成をサポートしています。

この接続ファクトリは、柔軟なライフサイクル制御のために InitializingBeanSmartLifecycle を実装します。接続を取得するには、initializedstarted である必要があります。デフォルトでは、この Initializationstarts、Bean、early です。必要に応じて、この接続ファクトリを Lifecycle.stop() および restart にすることができます。early startup を無効にすると、auto-startup が有効になっている場合にライフサイクル管理がコンテナーのリフレッシュに委ねられます。

JedisConnection とその clustered variant はスレッドセーフではないため、インスタンスをスレッド間で共有すべきではないことに注意してください。マルチスレッド環境での Jedis の構成に関するガイダンスについては、ジェダイのドキュメントを参照してください。

作成者:
Costin Leau, Thomas Darimont, Christoph Strobl, Mark Paluch, Fu Jian, Ajith Kumar
関連事項:
  • コンストラクターの詳細

    • JedisConnectionFactory

      public JedisConnectionFactory()
      デフォルト設定 (デフォルトの接続プーリング) で新しい JedisConnectionFactory インスタンスを構築します。
    • JedisConnectionFactory

      public JedisConnectionFactory(redis.clients.jedis.JedisPoolConfig poolConfig)
      指定されたプール構成を使用して、新しい JedisConnectionFactory インスタンスを構築します。
      パラメーター:
      poolConfig - プール構成
    • JedisConnectionFactory

      public JedisConnectionFactory(RedisClusterConfiguration clusterConfiguration)
      JedisCluster を作成するために適用された特定の RedisClusterConfiguration を使用して、新しい JedisConnectionFactory インスタンスを構築します。
      パラメーター:
      clusterConfiguration - null であってはなりません。
      導入:
      1.7
    • JedisConnectionFactory

      public JedisConnectionFactory(RedisClusterConfiguration clusterConfiguration, JedisClientConfiguration clientConfiguration)
      指定された RedisClusterConfiguration および JedisClientConfiguration を使用して、新しい JedisConnectionFactory インスタンスを構築します。
      パラメーター:
      clusterConfiguration - null であってはなりません。
      clientConfiguration - null であってはなりません。
      導入:
      2.0
    • JedisConnectionFactory

      public JedisConnectionFactory(RedisClusterConfiguration clusterConfiguration, redis.clients.jedis.JedisPoolConfig poolConfig)
      JedisCluster を作成するために適用された特定の RedisClusterConfiguration を使用して、新しい JedisConnectionFactory インスタンスを構築します。
      パラメーター:
      clusterConfiguration - null であってはなりません。
      導入:
      1.7
    • JedisConnectionFactory

      public JedisConnectionFactory(RedisSentinelConfiguration sentinelConfiguration)
      JedisSentinelPool に適用された指定の JedisPoolConfig を使用して、新しい JedisConnectionFactory インスタンスを構築します。
      パラメーター:
      sentinelConfiguration - null であってはなりません。
      導入:
      1.4
    • JedisConnectionFactory

      public JedisConnectionFactory(RedisSentinelConfiguration sentinelConfiguration, JedisClientConfiguration clientConfiguration)
      指定された RedisSentinelConfiguration および JedisClientConfiguration を使用して、新しい JedisConnectionFactory インスタンスを構築します。
      パラメーター:
      sentinelConfiguration - null であってはなりません。
      clientConfiguration - null であってはなりません。
      導入:
      2.0
    • JedisConnectionFactory

      public JedisConnectionFactory(RedisSentinelConfiguration sentinelConfiguration, @Nullable redis.clients.jedis.JedisPoolConfig poolConfig)
      JedisSentinelPool に適用された指定の JedisPoolConfig を使用して、新しい JedisConnectionFactory インスタンスを構築します。
      パラメーター:
      sentinelConfiguration - 使用する sentinel 構成。
      poolConfig - プール構成。null の場合、デフォルトで新しいインスタンスになります。
      導入:
      1.4
    • JedisConnectionFactory

      public JedisConnectionFactory(RedisStandaloneConfiguration standaloneConfiguration)
      指定された RedisStandaloneConfiguration を使用して新しい JedisConnectionFactory インスタンスを構築します。
      パラメーター:
      standaloneConfiguration - null であってはなりません。
      導入:
      2.0
    • JedisConnectionFactory

      public JedisConnectionFactory(RedisStandaloneConfiguration standaloneConfiguration, JedisClientConfiguration clientConfiguration)
      指定された RedisStandaloneConfiguration および JedisClientConfiguration を使用して、新しい JedisConnectionFactory インスタンスを構築します。
      パラメーター:
      standaloneConfiguration - null であってはなりません。
      clientConfiguration - null であってはなりません。
      導入:
      2.0
  • メソッドの詳細

    • setExecutor

      public void setExecutor(AsyncTaskExecutor executor)
      クラスター全体でコマンドを非同期に実行するために使用される executor を構成します。
      パラメーター:
      executor - executor は、クラスター全体でコマンドを非同期に実行していました。
      導入:
      3.2
    • getHostName

      public StringSE getHostName()
      Redis ホスト名を返します。
      戻り値:
      hostName。
    • setHostName

      @DeprecatedSE public void setHostName(StringSE hostName)
      使用すべきではありません。
      2.0 以降、RedisStandaloneConfiguration を使用してホスト名を構成します。
      Redis ホスト名を設定します。
      パラメーター:
      hostName - 設定するホスト名。
    • isUseSsl

      public boolean isUseSsl()
      SSL を使用するかどうかを返します。
      戻り値:
      SSL の使用。
      導入:
      1.8
    • setUseSsl

      @DeprecatedSE public void setUseSsl(boolean useSsl)
      使用すべきではありません。
      2.0 以降、JedisClientConfiguration を使用して SSL の使用を構成します。
      SSL を使用するかどうかを設定します。
      パラメーター:
      useSsl - SSL を使用する場合は true。
      例外:
      IllegalStateExceptionSE - JedisClientConfiguration が不変の場合。
      導入:
      1.8
    • getPassword

      @Nullable public StringSE getPassword()
      Redis サーバーでの認証に使用されるパスワードを返します。
      戻り値:
      認証用のパスワード。
    • setPassword

      @DeprecatedSE public void setPassword(StringSE password)
      使用すべきではありません。
      2.0 以降、RedisStandaloneConfigurationRedisSentinelConfigurationRedisClusterConfiguration を使用してパスワードを構成します。
      Redis サーバーでの認証に使用するパスワードを設定します。
      パラメーター:
      password - 設定するパスワード。
    • getPort

      public int getPort()
      Redis インスタンスへの接続に使用されるポートを返します。
      戻り値:
      Redis ポート。
    • setPort

      @DeprecatedSE public void setPort(int port)
      使用すべきではありません。
      2.0 以降、RedisStandaloneConfiguration を使用してポートを構成します。
      Redis インスタンスへの接続に使用するポートを設定します。
      パラメーター:
      port - Redis ポート。
    • getTimeout

      public int getTimeout()
      タイムアウトを返します。
      戻り値:
      タイムアウト。
    • setTimeout

      @DeprecatedSE public void setTimeout(int timeout)
      使用すべきではありません。
      2.0 以降、JedisClientConfiguration を使用してタイムアウトを構成します。
      タイムアウトを設定します。
      パラメーター:
      timeout - 設定するタイムアウト。
      例外:
      IllegalStateExceptionSE - JedisClientConfiguration が不変の場合。
    • getUsePool

      public boolean getUsePool()
      接続プールの使用を示します。

      単一ノード Redis にのみ適用されます。Sentinel およびクラスターモードは、プール設定に関係なく、常に接続プールを使用します。

      戻り値:
      接続プーリングの使用。
    • setUsePool

      @DeprecatedSE public void setUsePool(boolean usePool)
      使用すべきではありません。
      2.0 以降、JedisClientConfiguration を使用してプーリングの使用箇所を構成します。
      接続プールの使用をオンまたはオフにします。
      パラメーター:
      usePool - usePool を設定します。
      例外:
      IllegalStateExceptionSE - JedisClientConfiguration が不変の場合。
      IllegalStateExceptionSE - sentinel を使用するように構成されていて、usePool が false の場合、Jedis は Redis sentinel を使用するためにプーリングを必要とします。
    • getPoolConfig

      @Nullable public <T> org.apache.commons.pool2.impl.GenericObjectPoolConfig<T> getPoolConfig()
      poolConfig を返します。
      戻り値:
      poolConfig
    • setPoolConfig

      @DeprecatedSE public void setPoolConfig(redis.clients.jedis.JedisPoolConfig poolConfig)
      使用すべきではありません。
      2.0 以降、JedisClientConfiguration を使用して JedisPoolConfig を構成します。
      このファクトリのプール構成を設定します。
      パラメーター:
      poolConfig - poolConfig を設定します。
      例外:
      IllegalStateExceptionSE - JedisClientConfiguration が不変の場合。
    • getDatabase

      public int getDatabase()
      データベースのインデックスを返します。
      戻り値:
      データベースインデックス。
    • setDatabase

      @DeprecatedSE public void setDatabase(int index)
      使用すべきではありません。
      2.0 以降、RedisStandaloneConfiguration または RedisSentinelConfiguration を使用してデータベースインデックスを構成します。
      この接続ファクトリが使用するデータベースのインデックスを設定します。デフォルトは 0 です。
      パラメーター:
      index - データベースインデックス。
    • getClientName

      @Nullable public StringSE getClientName()
      クライアント名を返します。
      戻り値:
      クライアント名。
      導入:
      1.8
    • setClientName

      @DeprecatedSE public void setClientName(StringSE clientName)
      使用すべきではありません。
      2.0 以降、JedisClientConfiguration を使用してクライアント名を構成します。
      この接続ファクトリが使用するクライアント名を設定します。デフォルトは none で、クライアント名は設定されません。
      パラメーター:
      clientName - クライアント名。
      例外:
      IllegalStateExceptionSE - JedisClientConfiguration が不変の場合。
      導入:
      1.8
    • getClientConfiguration

      public JedisClientConfiguration getClientConfiguration()
      戻り値:
      JedisClientConfiguration
      導入:
      2.0
    • getStandaloneConfiguration

      @Nullable public RedisStandaloneConfiguration getStandaloneConfiguration()
      戻り値:
      RedisStandaloneConfiguration
      導入:
      2.0
    • getSentinelConfiguration

      @Nullable public RedisSentinelConfiguration getSentinelConfiguration()
      戻り値:
      RedisStandaloneConfiguration は null の可能性があります。
      導入:
      2.0
    • getClusterConfiguration

      @Nullable public RedisClusterConfiguration getClusterConfiguration()
      戻り値:
      RedisClusterConfiguration は null の可能性があります。
      導入:
      2.0
    • getPhase

      public int getPhase()
      次で指定:
      インターフェース PhasedgetPhase 
      次で指定:
      インターフェース SmartLifecyclegetPhase 
    • setPhase

      public void setPhase(int phase)
      このエグゼキュータを一時停止および再開するためのライフサイクルフェーズを指定します。デフォルトは 0 です。
      導入:
      3.2
      関連事項:
    • isAutoStartup

      public boolean isAutoStartup()
      次で指定:
      インターフェース SmartLifecycleisAutoStartup 
      導入:
      3.3
    • setAutoStartup

      public void setAutoStartup(boolean autoStartup)
      コンテナーに含まれる ApplicationContext がリフレッシュされたときに、このライフサイクル接続ファクトリがコンテナーによって自動的に開始されるかどうかを構成します。

      この接続ファクトリは、デフォルトで afterPropertiesSet() 中に早期自動起動に設定され、ライフサイクルの早い段階で Redis 接続を作成できる可能性があります。自動起動が有効になっている場合、接続の作成を ApplicationContext リフレッシュまで遅らせるには、setEarlyStartup(boolean) を参照してください。

      パラメーター:
      autoStartup - 接続ファクトリを自動的に start() する場合は true、それ以外の場合は false。
      導入:
      3.3
      関連事項:
    • isEarlyStartup

      public boolean isEarlyStartup()
      戻り値:
      afterPropertiesSet() 中にコンポーネントを start() するかどうか。
      導入:
      3.3
    • setEarlyStartup

      public void setEarlyStartup(boolean earlyStartup)
      Bean が初期化されるときに、この InitializingBean のコンポーネントライフサイクルを afterPropertiesSet() によって早期に開始するかどうかを構成します。コンポーネントはデフォルトで自動起動になります。

      この方法は auto-startup に関連しており、ApplicationContext のリフレッシュまで Redis クライアントの起動を遅らせるために使用できます。早期起動を無効にしても、自動起動は無効になりません。

      パラメーター:
      earlyStartup - コンポーネントを早期に start() する場合は true、それ以外の場合は false。
      導入:
      3.3
      関連事項:
    • getConvertPipelineAndTxResults

      public boolean getConvertPipelineAndTxResults()
      パイプライン結果を予期されるデータ型に変換するかどうかを指定します。false の場合、JedisConnection.closePipeline() および JedisConnection.exec() の結果は、Jedis ドライバーによって返される型になります。
      次で指定:
      インターフェース RedisConnectionFactorygetConvertPipelineAndTxResults 
      戻り値:
      true パイプラインとトランザクションの結果を変換します。それ以外の場合は false
    • setConvertPipelineAndTxResults

      public void setConvertPipelineAndTxResults(boolean convertPipelineAndTxResults)
      パイプライン結果を予期されるデータ型に変換するかどうかを指定します。false の場合、JedisConnection.closePipeline() および JedisConnection.exec() の結果は、Jedis ドライバーによって返される型になります。
      パラメーター:
      convertPipelineAndTxResults - パイプラインとトランザクションの結果を変換する true。それ以外の場合は false
    • isRedisSentinelAware

      public boolean isRedisSentinelAware()
      戻り値:
      RedisSentinelConfiguration が存在する場合は true。
      導入:
      1.4
    • isRedisClusterAware

      public boolean isRedisClusterAware()
      戻り値:
      RedisClusterConfiguration が存在する場合は true。
      導入:
      2.0
    • afterPropertiesSet

      public void afterPropertiesSet()
      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
    • start

      public void start()
      次で指定:
      インターフェース Lifecyclestart 
    • stop

      public void stop()
      次で指定:
      インターフェース Lifecyclestop 
    • isRunning

      public boolean isRunning()
      次で指定:
      インターフェース LifecycleisRunning 
    • createRedisSentinelPool

      protected redis.clients.jedis.util.Pool<redis.clients.jedis.Jedis> createRedisSentinelPool(RedisSentinelConfiguration config)
      JedisSentinelPool を作成します。
      パラメーター:
      config - 実際の RedisSentinelConfiguration。null になることはありません。
      戻り値:
      使用する Pool。null になることはありません。
      導入:
      1.4
    • createRedisPool

      protected redis.clients.jedis.util.Pool<redis.clients.jedis.Jedis> createRedisPool()
      JedisPool を作成します。
      戻り値:
      使用する Pool。null になることはありません。
      導入:
      1.4
    • createTopologyProvider

      protected ClusterTopologyProvider createTopologyProvider(redis.clients.jedis.JedisCluster cluster)
      JedisCluster を指定して ClusterTopologyProvider を作成するためのテンプレートメソッド。デフォルトで JedisClusterConnection.JedisClusterTopologyProvider を作成します。
      パラメーター:
      cluster - JedisCluster は null であってはなりません。
      戻り値:
      ClusterTopologyProvider
      関連事項:
    • createCluster

      protected redis.clients.jedis.JedisCluster createCluster(RedisClusterConfiguration clusterConfig, org.apache.commons.pool2.impl.GenericObjectPoolConfig<redis.clients.jedis.Connection> poolConfig)
      指定された RedisClusterConfiguration および GenericObjectPoolConfig の JedisCluster を作成します。
      パラメーター:
      clusterConfig - null であってはなりません。
      poolConfig - null でもかまいません。
      戻り値:
      実際の JedisCluster
      導入:
      1.7
    • destroy

      public void destroy()
      次で指定:
      インターフェース DisposableBeandestroy 
    • getConnection

      public RedisConnection getConnection()
      インターフェースからコピーされた説明: RedisConnectionFactory
      Redis との対話に適した connection を返します。
      次で指定:
      インターフェース RedisConnectionFactorygetConnection 
      戻り値:
      Redis と対話するための connection
    • fetchJedisConnector

      protected redis.clients.jedis.Jedis fetchJedisConnector()
      Redis 接続として使用される Jedis インスタンスを返します。インスタンスは、新しく作成することも、プールから取得することもできます。
      戻り値:
      Jedis インスタンスを RedisConnection にラップする準備ができました。
    • postProcessConnection

      protected JedisConnection postProcessConnection(JedisConnection connection)
      新しく取得した接続を後処理します。新しい接続で初期化コマンドを装飾または実行できます。この実装は単に接続を返します。
      パラメーター:
      connection - ジェダイの接続。
      戻り値:
      処理された接続
    • getClusterConnection

      public RedisClusterConnection getClusterConnection()
      インターフェースからコピーされた説明: RedisConnectionFactory
      Redis クラスターとの対話に適した connection を返します。
      次で指定:
      インターフェース RedisConnectionFactorygetClusterConnection 
      戻り値:
      Redis クラスターと対話するための connection
    • postProcessConnection

      protected JedisClusterConnection postProcessConnection(JedisClusterConnection connection)
      新しく取得した接続を後処理します。新しい接続で初期化コマンドを装飾または実行できます。この実装は単に接続を返します。
      パラメーター:
      connection - ジェダイの接続。
      戻り値:
      処理された接続。
      導入:
      3.2
    • translateExceptionIfPossible

      public DataAccessException translateExceptionIfPossible(RuntimeExceptionSE ex)
      次で指定:
      インターフェース PersistenceExceptionTranslatortranslateExceptionIfPossible 
    • getSentinelConnection

      public RedisSentinelConnection getSentinelConnection()
      インターフェースからコピーされた説明: RedisConnectionFactory
      Redis Sentinel との対話に適した connection を返します。
      次で指定:
      インターフェース RedisConnectionFactorygetSentinelConnection 
      戻り値:
      Redis Sentinel と対話するための connection