クラス DefaultReactiveScriptExecutor<K>
java.lang.ObjectSE
org.springframework.data.redis.core.script.DefaultReactiveScriptExecutor<K>
- 型パラメーター:
K
- スクリプトの実行中に渡される可能性のあるキーの型
- 実装されたすべてのインターフェース:
ReactiveScriptExecutor<K>
ReactiveScriptExecutor
のデフォルトの実装。最初に EVALSHA
を使用してスクリプトを実行し、Redis がまだスクリプトをキャッシュしていない場合は、EVAL
にフォールバックすることにより、パフォーマンスを最適化します。- 導入:
- 2.0
- 作成者:
- Mark Paluch, Christoph Strobl, John Blum
コンストラクターのサマリー
コンストラクターコンストラクター説明DefaultReactiveScriptExecutor
(ReactiveRedisConnectionFactory connectionFactory, RedisSerializationContext<K, ?> serializationContext) ReactiveRedisConnectionFactory
およびRedisSerializationContext
を指定して、新しいDefaultReactiveScriptExecutor
を作成します。メソッドのサマリー
修飾子と型メソッド説明protected <T> reactor.core.publisher.Flux<T>
deserializeResult
(RedisElementReader<T> reader, reactor.core.publisher.Flux<T> result) protected <T> reactor.core.publisher.Flux<T>
eval
(ReactiveRedisConnection connection, RedisScript<T> script, ReturnType returnType, int numKeys, ByteBufferSE[] keysAndArgs, RedisElementReader<T> resultReader) <T> reactor.core.publisher.Flux<T>
execute
(RedisScript<T> script, ListSE<K> keys, ListSE<?> args) 指定されたRedisScript
を実行します<T> reactor.core.publisher.Flux<T>
execute
(RedisScript<T> script, ListSE<K> keys, ListSE<?> args, RedisElementWriter<?> argsWriter, RedisElementReader<T> resultReader) 指定されたRedisSerializer
を使用して、指定されたRedisScript
を実行し、スクリプトの引数と結果を直列化します。protected ByteBufferSE[]
keysAndArgs
(RedisElementWriter argsWriter, ListSE<K> keys, ListSE<?> args) protected RedisSerializationContext.SerializationPair<K>
protected ByteBufferSE
scriptBytes
(RedisScript<?> script) クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.data.redis.core.script.ReactiveScriptExecutor から継承されたメソッド
execute, execute
コンストラクターの詳細
DefaultReactiveScriptExecutor
public DefaultReactiveScriptExecutor(ReactiveRedisConnectionFactory connectionFactory, RedisSerializationContext<K, ?> serializationContext) ReactiveRedisConnectionFactory
およびRedisSerializationContext
を指定して、新しいDefaultReactiveScriptExecutor
を作成します。- パラメーター:
connectionFactory
- null であってはなりません。serializationContext
- null であってはなりません。
メソッドの詳細
execute
public <T> reactor.core.publisher.Flux<T> execute(RedisScript<T> script, ListSE<K> keys, ListSE<?> args) インターフェースからコピーされた説明:ReactiveScriptExecutor
指定されたRedisScript
を実行します- 次で指定:
- インターフェース
ReactiveScriptExecutor<K>
のexecute
- パラメーター:
script
- 実行するスクリプト。null であってはなりません。keys
- スクリプトに渡す必要のあるすべてのキー。null であってはなりません。args
- スクリプトに渡す必要のある引数。空にすることができます。- 戻り値:
- スクリプトの戻り値、または
RedisScript.getResultType()
が null の場合はFlux.empty()
。これは、使い捨てのステータス応答を示している可能性があります。(つまり、"OK" )
execute
public <T> reactor.core.publisher.Flux<T> execute(RedisScript<T> script, ListSE<K> keys, ListSE<?> args, RedisElementWriter<?> argsWriter, RedisElementReader<T> resultReader) インターフェースからコピーされた説明:ReactiveScriptExecutor
指定されたRedisSerializer
を使用して、指定されたRedisScript
を実行し、スクリプトの引数と結果を直列化します。- 次で指定:
- インターフェース
ReactiveScriptExecutor<K>
のexecute
- パラメーター:
script
- 実行するスクリプト。null であってはなりません。keys
- スクリプトに渡す必要のあるキーargs
- スクリプトに渡す必要のある引数argsWriter
- 引数の直列化に使用するRedisElementWriter
。null であってはなりません。resultReader
- スクリプトの戻り値を直列化するために使用するRedisElementReader
。null であってはなりません。- 戻り値:
- スクリプトの戻り値、または
RedisScript.getResultType()
が null の場合はFlux.empty()
。これは、使い捨てのステータス応答を示している可能性があります。(つまり、"OK" )
eval
protected <T> reactor.core.publisher.Flux<T> eval(ReactiveRedisConnection connection, RedisScript<T> script, ReturnType returnType, int numKeys, ByteBufferSE[] keysAndArgs, RedisElementReader<T> resultReader) keysAndArgs
scriptBytes
deserializeResult
protected <T> reactor.core.publisher.Flux<T> deserializeResult(RedisElementReader<T> reader, reactor.core.publisher.Flux<T> result) keySerializer
getConnectionFactory