インターフェース RedisConnection

すべてのスーパーインターフェース:
AutoCloseableSE, DefaultedRedisConnection, RedisCommands, RedisCommandsProvider, RedisConnectionCommands, RedisGeoCommands, RedisHashCommands, RedisHyperLogLogCommands, RedisKeyCommands, RedisListCommands, RedisPubSubCommands, RedisScriptingCommands, RedisServerCommands, RedisSetCommands, RedisStreamCommands, RedisStringCommands, RedisTxCommands, RedisZSetCommands
すべての既知のサブインターフェース:
RedisClusterConnection, RedisConnectionUtils.RedisConnectionProxy, StringRedisConnection
すべての既知の実装クラス:
AbstractRedisConnection, DefaultStringRedisConnection, JedisClusterConnection, JedisConnection, LettuceClusterConnection, LettuceConnection

@NullUnmarked public interface RedisConnection extends RedisCommandsProvider, DefaultedRedisConnection, AutoCloseableSE
Redis サーバーへの接続。

RedisConnection インターフェースは、さまざまな Redis クライアントライブラリ (またはドライバー) にわたる共通の抽象化として機能します。

さらに、基礎となる Redis クライアントライブラリと Spring DAO 例外の間の例外変換を実行します。このメソッドは、可能な限り Redis の名前と規則に従います。

Redis connections とは異なり、おそらくその基礎となるネイティブ接続はスレッドセーフではないため、複数のスレッド間で同時または同時に共有すべきではありません。

Redis コマンドメソッドは、戻り値が null 値ではないというデフォルトの仮定から除外されます。これは、null 値かどうかはコマンドだけでなく接続状態にも依存するためです。トランザクション中またはパイプライン処理中に呼び出されるメソッドは、コマンド呼び出し時に null を返す必要があります。これは、トランザクションが実行されるかパイプラインが閉じられるまでレスポンスが得られないためです。呼び出しコードでの過剰な null チェックを回避し、null 値ではないという誤った仮定を明示しないために、すべてのコマンドインターフェースには @NullUnmarked アノテーションが付けられます。

作成者:
Costin Leau, Christoph Strobl, Mark Paluch, James Howe, John Blum
  • メソッドの詳細

    • close

      void close() throws DataAccessException
      接続を閉じるか終了します。
      次で指定:
      インターフェース AutoCloseableSEclose 
      例外:
      DataAccessException - RedisConnection を閉じることができなかった場合。
    • isClosed

      boolean isClosed()
      基になる接続が閉じているかどうかを示します。
      戻り値:
      接続が閉じている場合は true、それ以外の場合は false。
    • getNativeConnection

      ObjectSE getNativeConnection()
      ネイティブ接続(基になるライブラリ / ドライバオブジェクト)を返します。
      戻り値:
      基になるネイティブオブジェクト
    • isQueueing

      boolean isQueueing()
      接続が「キュー」(または「マルチ」)モードであるかどうかを示します。キューイングする場合、EXEC または DISCARD コマンドが発行されるまで、すべてのコマンドが延期されます。キューイングでは結果が返されないため、接続はデータと対話するすべての操作で NULL を返します。
      戻り値:
      接続がキュー / マルチモードの場合は true、それ以外の場合は false
    • isPipelined

      boolean isPipelined()
      接続が現在パイプライン化されているかどうかを示します。
      戻り値:
      接続がパイプライン化されている場合は true、それ以外の場合は false
      関連事項:
    • openPipeline

      void openPipeline()
      この接続のパイプラインモードをアクティブにします。パイプライン化されると、すべてのコマンドは null を返します(レスポンスは closePipeline() を介して最後に読み取られます。接続がすでにパイプライン化されているときにこのメソッドを呼び出しても効果はありません。パイプライン化は、レスポンスをすぐにリクエストせずにコマンドを発行するために使用されます。バッチ。MULTI にいくらか似ていますが、パイプラインはアトミック性を保証しません。多くのコマンドを発行するとき(バッチシナリオなど)にのみパフォーマンスを向上させようとします。

      注:

      多くの場合、パフォーマンスのメリットは最小限ですが、使用への影響は少ないため、この機能を使用する前にパフォーマンステストを行うことを検討してください。
      関連事項:
    • closePipeline

      ListSE<@Nullable ObjectSE> closePipeline() throws RedisPipelineException
      パイプラインでコマンドを実行し、その結果を返します。接続がパイプライン化されていない場合、空のコレクションが返されます。
      戻り値:
      実行されたコマンドの結果。
      例外:
      RedisPipelineException - パイプラインに不正 / 無効なステートメントが含まれている場合
    • getSentinelConnection

      RedisSentinelConnection getSentinelConnection()
      戻り値:
      Redis Sentinel 使用時は RedisSentinelConnection
      導入:
      1.4