Interface ScriptExecutor<K>

Type Parameters:
K - The type of keys that may be passed during script execution
All Known Implementing Classes:
DefaultScriptExecutor

@NullUnmarked public interface ScriptExecutor<K>
Executes RedisScripts
Author:
Jennifer Hickey
  • Method Details

    • execute

      <T extends @Nullable Object> T execute(@NonNull RedisScript<T> script, @NonNull List<@NonNull K> keys, @NonNull Object @NonNull ... args)
      Executes the given RedisScript
      Parameters:
      script - the script to execute.
      keys - any keys that need to be passed to the script.
      args - any args that need to be passed to the script.
      Returns:
      The return value of the script or null if RedisScript.getResultType() is null, likely indicating a throw-away status reply (i.e. "OK")
    • execute

      <T extends @Nullable Object> T execute(@NonNull RedisScript<T> script, @NonNull RedisSerializer<?> argsSerializer, @NonNull RedisSerializer<T> resultSerializer, @NonNull List<@NonNull K> keys, @NonNull Object... args)
      Executes the given RedisScript, using the provided RedisSerializers to serialize the script arguments and result.
      Parameters:
      script - the script to execute.
      argsSerializer - The RedisSerializer to use for serializing args.
      resultSerializer - The RedisSerializer to use for serializing the script return value.
      keys - any keys that need to be passed to the script.
      args - any args that need to be passed to the script.
      Returns:
      The return value of the script or null if RedisScript.getResultType() is null, likely indicating a throw-away status reply (i.e. "OK")