Interface IAerospikeReactorClient

All Superinterfaces:
AutoCloseable, Closeable, DefaultPolicyProvider
All Known Implementing Classes:
AerospikeReactorClient, AerospikeReactorRetryClient

public interface IAerospikeReactorClient
extends DefaultPolicyProvider, Closeable
  • Method Summary

    Modifier and Type Method Description
    reactor.core.publisher.Mono<com.aerospike.client.Key> add​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively add integer bin values to existing record bin values.
    reactor.core.publisher.Mono<com.aerospike.client.Key> add​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively add integer bin values to existing record bin values.
    reactor.core.publisher.Mono<com.aerospike.client.Key> append​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively append bin string values to existing record bin values.
    reactor.core.publisher.Mono<com.aerospike.client.Key> append​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively append bin string values to existing record bin values.
    reactor.core.publisher.Mono<Void> createIndex​(com.aerospike.client.policy.Policy policy, String namespace, String setName, String indexName, String binName, com.aerospike.client.query.IndexType indexType, com.aerospike.client.query.IndexCollectionType indexCollectionType)
    Reactively create complex secondary index to be used on bins containing collections.
    reactor.core.publisher.Mono<com.aerospike.client.Key> delete​(com.aerospike.client.Key key)
    Reactively delete record for specified key.
    reactor.core.publisher.Mono<com.aerospike.client.Key> delete​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key)
    Reactively delete record for specified key.
    reactor.core.publisher.Mono<Void> dropIndex​(com.aerospike.client.policy.Policy policy, String namespace, String setName, String indexName)
    Reactively delete secondary index.
    reactor.core.publisher.Mono<KeyObject> execute​(com.aerospike.client.Key key, String packageName, String functionName, com.aerospike.client.Value... functionArgs)
    Reactively execute user defined function on server.
    reactor.core.publisher.Mono<KeyObject> execute​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, String packageName, String functionName, com.aerospike.client.Value... functionArgs)
    Reactively execute user defined function on server.
    reactor.core.publisher.Mono<com.aerospike.client.Key> exists​(com.aerospike.client.Key key)
    Reactively determine if a record key exists.
    reactor.core.publisher.Mono<KeysExists> exists​(com.aerospike.client.Key[] keys)
    Reactively check if multiple record keys exist in one batch call.
    reactor.core.publisher.Mono<KeysExists> exists​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys)
    Reactively check if multiple record keys exist in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.Key> exists​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key)
    Reactively determine if a record key exists.
    reactor.core.publisher.Flux<KeyExists> existsFlux​(com.aerospike.client.Key[] keys)
    Reactively check if multiple record keys exist in one batch call.
    reactor.core.publisher.Flux<KeyExists> existsFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys)
    Reactively check if multiple record keys exist in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.Key key)
    Reactively read entire record for specified key.
    reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.Key[] keys)
    Reactively read multiple records for specified keys in one batch call.
    reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations)
    Reactively read multiple records for specified keys using read operations in one batch call.
    reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys)
    Reactively read multiple records for specified keys in one batch call.
    reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations)
    Reactively read multiple records for specified keys using read operations in one batch call.
    reactor.core.publisher.Mono<List<com.aerospike.client.BatchRead>> get​(com.aerospike.client.policy.BatchPolicy policy, List<com.aerospike.client.BatchRead> records)
    Reactively read multiple records for specified batch keys in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key)
    Reactively read entire record for specified key.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key, String[] binNames)
    Reactively read record header and bins for specified key.
    reactor.core.publisher.Mono<List<com.aerospike.client.BatchRead>> get​(List<com.aerospike.client.BatchRead> records)
    Asynchronously read multiple records for specified batch keys in one batch call.
    com.aerospike.client.IAerospikeClient getAerospikeClient()
    Return the original non-reactive Aerospike Client
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.Key[] keys)
    Reactively read multiple records for specified keys in one batch call.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations)
    Reactively read multiple records for specified keys using read operations in one batch call.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys)
    Reactively read multiple records for specified keys in one batch call.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations)
    Reactively read multiple records for specified keys using read operations in one batch call.
    reactor.core.publisher.Flux<com.aerospike.client.BatchRead> getFlux​(com.aerospike.client.policy.BatchPolicy policy, List<com.aerospike.client.BatchRead> records)
    Reactively read multiple records for specified batch keys in one batch call.
    reactor.core.publisher.Flux<com.aerospike.client.BatchRead> getFlux​(List<com.aerospike.client.BatchRead> records)
    Reactively read multiple records for specified batch keys in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> getHeader​(com.aerospike.client.Key key)
    Reactively read record generation and expiration only for specified key.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> getHeader​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key)
    Reactively read record generation and expiration only for specified key.
    reactor.core.publisher.Mono<KeysRecords> getHeaders​(com.aerospike.client.Key[] keys)
    Reactively read multiple record header data for specified keys in one batch call.
    reactor.core.publisher.Mono<KeysRecords> getHeaders​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys)
    Reactively read multiple record header data for specified keys in one batch call.
    reactor.core.publisher.Mono<String> info​(com.aerospike.client.policy.InfoPolicy infoPolicy, com.aerospike.client.cluster.Node node, String command)
    Reactively access server's info monitoring protocol.
    reactor.core.publisher.Mono<Map<String,​String>> info​(com.aerospike.client.policy.InfoPolicy infoPolicy, com.aerospike.client.cluster.Node node, List<String> commands)
    Reactively access server's info monitoring protocol.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> operate​(com.aerospike.client.Key key, com.aerospike.client.Operation... operations)
    Reactively perform multiple read/write operations on a single key in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> operate​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Operation... operations)
    Reactively perform multiple read/write operations on a single key in one batch call.
    reactor.core.publisher.Mono<com.aerospike.client.Key> prepend​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively prepend bin string values to existing record bin values.
    reactor.core.publisher.Mono<com.aerospike.client.Key> prepend​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively prepend bin string values to existing record bin values.
    reactor.core.publisher.Mono<com.aerospike.client.Key> put​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively write record bin(s).
    reactor.core.publisher.Mono<com.aerospike.client.Key> put​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins)
    Reactively write record bin(s).
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> query​(com.aerospike.client.policy.QueryPolicy policy, com.aerospike.client.query.Statement statement)
    Reactively execute query on all server nodes.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> query​(com.aerospike.client.query.Statement statement)
    Reactively execute query on all server nodes.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> scanAll​(com.aerospike.client.policy.ScanPolicy policy, String namespace, String setName, String... binNames)
    Reactively read all records in specified namespace and set.
    reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> scanAll​(String namespace, String setName, String... binNames)
    Reactively read all records in specified namespace and set.
    reactor.core.publisher.Mono<com.aerospike.client.Key> touch​(com.aerospike.client.Key key)
    Reactively reset record's time to expiration using the policy's expiration.
    reactor.core.publisher.Mono<com.aerospike.client.Key> touch​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key)
    Reactively reset record's time to expiration using the policy's expiration.

    Methods inherited from interface java.io.Closeable

    close
  • Method Details

    • get

      reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Reactively read entire record for specified key. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.
      Parameters:
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Reactively read multiple records for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null. The policy can be used to specify timeouts.

      Parameters:
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Reactively read multiple records for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null. The policy can be used to specify timeouts.

      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Reactively read entire record for specified key. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy can be used to specify timeouts.

      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> get​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key, String[] binNames) throws com.aerospike.client.AerospikeException
      Reactively read record header and bins for specified key.

      The policy can be used to specify timeouts.

      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      key - unique record identifier
      binNames - bins to retrieve
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      reactor.core.publisher.Mono<List<com.aerospike.client.BatchRead>> get​(List<com.aerospike.client.BatchRead> records) throws com.aerospike.client.AerospikeException
      Asynchronously read multiple records for specified batch keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      This method allows different namespaces/bins to be requested for each key in the batch. The returned records are located in the same list. If the BatchRead key field is not found, the corresponding record field will be null.

      Parameters:
      records - list of unique record identifiers and the bins to retrieve. The returned records are located in the same list.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      reactor.core.publisher.Mono<List<com.aerospike.client.BatchRead>> get​(com.aerospike.client.policy.BatchPolicy policy, List<com.aerospike.client.BatchRead> records) throws com.aerospike.client.AerospikeException
      Reactively read multiple records for specified batch keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      This method allows different namespaces/bins to be requested for each key in the batch. The returned records are located in the same list. If the BatchRead key field is not found, the corresponding record field will be null.

      The policy can be used to specify timeouts.

      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      records - list of unique record identifiers and the bins to retrieve. The returned records are located in the same list.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Reactively read multiple records for specified keys using read operations in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null.

      If a batch request to a node fails, the entire batch is cancelled.

      Parameters:
      keys - array of unique record identifiers
      operations - array of read operations on record
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • get

      reactor.core.publisher.Mono<KeysRecords> get​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Reactively read multiple records for specified keys using read operations in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null.

      If a batch request to a node fails, the entire batch is cancelled.

      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - array of unique record identifiers
      operations - array of read operations on record
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      reactor.core.publisher.Flux<com.aerospike.client.BatchRead> getFlux​(List<com.aerospike.client.BatchRead> records) throws com.aerospike.client.AerospikeException
      Reactively read multiple records for specified batch keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      This method allows different namespaces/bins to be requested for each key in the batch. Each record result is returned in separate onRecord() calls. If the BatchRead key field is not found, the corresponding record field will be null.

      Parameters:
      records - list of unique record identifiers and the bins to retrieve. The returned records are located in the same list.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      reactor.core.publisher.Flux<com.aerospike.client.BatchRead> getFlux​(com.aerospike.client.policy.BatchPolicy policy, List<com.aerospike.client.BatchRead> records) throws com.aerospike.client.AerospikeException
      Reactively read multiple records for specified batch keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      This method allows different namespaces/bins to be requested for each key in the batch. Each record result is returned in separate onRecord() calls. If the BatchRead key field is not found, the corresponding record field will be null. The policy can be used to specify timeouts.

      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      records - list of unique record identifiers and the bins to retrieve. The returned records are located in the same list.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Reactively read multiple records for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each record result is returned in separate onRecord() calls. If a key is not found, the record will be null. The policy can be used to specify timeouts.

      Parameters:
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Reactively read multiple records for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each record result is returned in separate onRecord() calls. If a key is not found, the record will be null. The policy can be used to specify timeouts.

      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Reactively read multiple records for specified keys using read operations in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each record result is returned in separate onRecord() calls. If a key is not found, the record will be null.

      If a batch request to a node fails, responses from other nodes will continue to be processed.

      Parameters:
      keys - array of unique record identifiers
      operations - array of read operations on record
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getFlux

      reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> getFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Reactively read multiple records for specified keys using read operations in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each record result is returned in separate onRecord() calls. If a key is not found, the record will be null.

      If a batch request to a node fails, responses from other nodes will continue to be processed.

      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - array of unique record identifiers
      operations - array of read operations on record
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getHeader

      reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> getHeader​(com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Reactively read record generation and expiration only for specified key. Bins are not read. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Parameters:
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getHeader

      reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> getHeader​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Reactively read record generation and expiration only for specified key. Bins are not read. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy can be used to specify timeouts.

      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getHeaders

      reactor.core.publisher.Mono<KeysRecords> getHeaders​(com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Reactively read multiple record header data for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null.

      Parameters:
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • getHeaders

      reactor.core.publisher.Mono<KeysRecords> getHeaders​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Reactively read multiple record header data for specified keys in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned records are in positional order with the original key array order. If a key is not found, the positional record will be null. The policy can be used to specify timeouts.

      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - array of unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • touch

      reactor.core.publisher.Mono<com.aerospike.client.Key> touch​(com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Reactively reset record's time to expiration using the policy's expiration. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Fail if the record does not exist.

      Parameters:
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • touch

      reactor.core.publisher.Mono<com.aerospike.client.Key> touch​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Reactively reset record's time to expiration using the policy's expiration. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Fail if the record does not exist.

      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • exists

      reactor.core.publisher.Mono<com.aerospike.client.Key> exists​(com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Reactively determine if a record key exists. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.
      Parameters:
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • exists

      reactor.core.publisher.Mono<com.aerospike.client.Key> exists​(com.aerospike.client.policy.Policy policy, com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Reactively determine if a record key exists. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy can be used to specify timeouts.

      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • exists

      reactor.core.publisher.Mono<KeysExists> exists​(com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Reactively check if multiple record keys exist in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned boolean array is in positional order with the original key array order.

      Parameters:
      keys - unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • exists

      reactor.core.publisher.Mono<KeysExists> exists​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Reactively check if multiple record keys exist in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The returned boolean array is in positional order with the original key array order.

      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • existsFlux

      reactor.core.publisher.Flux<KeyExists> existsFlux​(com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Reactively check if multiple record keys exist in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each key's result is returned in separate onExists() calls.

      Parameters:
      keys - unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • existsFlux

      reactor.core.publisher.Flux<KeyExists> existsFlux​(com.aerospike.client.policy.BatchPolicy policy, com.aerospike.client.Key[] keys) throws com.aerospike.client.AerospikeException
      Reactively check if multiple record keys exist in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Each key's result is returned in separate onExists() calls.

      Parameters:
      policy - batch configuration parameters, pass in null for defaults
      keys - unique record identifiers
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • put

      reactor.core.publisher.Mono<com.aerospike.client.Key> put​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Reactively write record bin(s). This method registers the command with an event loop and returns. The event loop thread will process the command and publish result.
      Parameters:
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • put

      reactor.core.publisher.Mono<com.aerospike.client.Key> put​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Reactively write record bin(s). This method registers the command with an event loop and returns. The event loop thread will process the command and publish result.

      The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists.

      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • append

      reactor.core.publisher.Mono<com.aerospike.client.Key> append​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Reactively append bin string values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.
      Parameters:
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • append

      reactor.core.publisher.Mono<com.aerospike.client.Key> append​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Reactively append bin string values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists. This call only works for string values.

      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • prepend

      reactor.core.publisher.Mono<com.aerospike.client.Key> prepend​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Reactively prepend bin string values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Parameters:
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • prepend

      reactor.core.publisher.Mono<com.aerospike.client.Key> prepend​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Reactively prepend bin string values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists. This call only works for string values.

      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • add

      reactor.core.publisher.Mono<com.aerospike.client.Key> add​(com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Reactively add integer bin values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.
      Parameters:
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • add

      reactor.core.publisher.Mono<com.aerospike.client.Key> add​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Bin... bins) throws com.aerospike.client.AerospikeException
      Reactively add integer bin values to existing record bin values. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists. This call only works for integer values.

      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      bins - array of bin name/value pairs
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • delete

      reactor.core.publisher.Mono<com.aerospike.client.Key> delete​(com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Reactively delete record for specified key. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.
      Parameters:
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • delete

      reactor.core.publisher.Mono<com.aerospike.client.Key> delete​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key) throws com.aerospike.client.AerospikeException
      Reactively delete record for specified key. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The policy specifies the transaction timeout.

      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • operate

      reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> operate​(com.aerospike.client.Key key, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Reactively perform multiple read/write operations on a single key in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      An example would be to add an integer value to an existing record and then read the result, all in one database call.

      Write operations are always performed first, regardless of operation order relative to read operations.

      Both scalar bin operations (Operation) and list bin operations (ListOperation) can be performed in same call.

      Parameters:
      key - unique record identifier
      operations - database operations to perform
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • operate

      reactor.core.publisher.Mono<com.aerospike.client.query.KeyRecord> operate​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, com.aerospike.client.Operation... operations) throws com.aerospike.client.AerospikeException
      Reactively perform multiple read/write operations on a single key in one batch call. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      An example would be to add an integer value to an existing record and then read the result, all in one database call.

      Write operations are always performed first, regardless of operation order relative to read operations.

      Both scalar bin operations (Operation) and list bin operations (ListOperation) can be performed in same call.

      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      operations - database operations to perform
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • query

      reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> query​(com.aerospike.client.query.Statement statement) throws com.aerospike.client.AerospikeException
      Reactively execute query on all server nodes. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the flux.
      Parameters:
      statement - database query command
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • query

      reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> query​(com.aerospike.client.policy.QueryPolicy policy, com.aerospike.client.query.Statement statement) throws com.aerospike.client.AerospikeException
      Reactively execute query on all server nodes. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the flux.
      Parameters:
      policy - query configuration parameters, pass in null for defaults
      statement - database query command
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • scanAll

      reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> scanAll​(String namespace, String setName, String... binNames) throws com.aerospike.client.AerospikeException
      Reactively read all records in specified namespace and set. If the policy's concurrentNodes is specified, each server node will be read in parallel. Otherwise, server nodes are read in series.

      This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Parameters:
      namespace - namespace - equivalent to database name
      setName - optional set name - equivalent to database table
      binNames - optional bin to retrieve. All bins will be returned if not specified. Aerospike 2 servers ignore this parameter.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • scanAll

      reactor.core.publisher.Flux<com.aerospike.client.query.KeyRecord> scanAll​(com.aerospike.client.policy.ScanPolicy policy, String namespace, String setName, String... binNames) throws com.aerospike.client.AerospikeException
      Reactively read all records in specified namespace and set. If the policy's concurrentNodes is specified, each server node will be read in parallel. Otherwise, server nodes are read in series.

      This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      Parameters:
      policy - scan configuration parameters, pass in null for defaults
      namespace - namespace - equivalent to database name
      setName - optional set name - equivalent to database table
      binNames - optional bin to retrieve. All bins will be returned if not specified. Aerospike 2 servers ignore this parameter.
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • execute

      reactor.core.publisher.Mono<KeyObject> execute​(com.aerospike.client.Key key, String packageName, String functionName, com.aerospike.client.Value... functionArgs) throws com.aerospike.client.AerospikeException
      Reactively execute user defined function on server. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The function operates on a single record. The package name is used to locate the udf file location:

      udf file = /.lua

      Parameters:
      key - unique record identifier
      packageName - server package name where user defined function resides
      functionName - user defined function
      functionArgs - arguments passed in to user defined function
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • execute

      reactor.core.publisher.Mono<KeyObject> execute​(com.aerospike.client.policy.WritePolicy policy, com.aerospike.client.Key key, String packageName, String functionName, com.aerospike.client.Value... functionArgs) throws com.aerospike.client.AerospikeException
      Reactively execute user defined function on server. This method registers the command with an event loop and returns. The event loop thread will process the command and send the results to the listener.

      The function operates on a single record. The package name is used to locate the udf file location:

      udf file = /.lua

      Parameters:
      policy - write configuration parameters, pass in null for defaults
      key - unique record identifier
      packageName - server package name where user defined function resides
      functionName - user defined function
      functionArgs - arguments passed in to user defined function
      Throws:
      com.aerospike.client.AerospikeException - if event loop registration fails
    • info

      reactor.core.publisher.Mono<String> info​(com.aerospike.client.policy.InfoPolicy infoPolicy, com.aerospike.client.cluster.Node node, String command)
      Reactively access server's info monitoring protocol.

      The info protocol is a name/value pair based system, where an individual database server node is queried to determine its configuration and status. The list of supported names can be found at:

      https://www.aerospike.com/docs/reference/info/index.html

    • info

      reactor.core.publisher.Mono<Map<String,​String>> info​(com.aerospike.client.policy.InfoPolicy infoPolicy, com.aerospike.client.cluster.Node node, List<String> commands)
      Reactively access server's info monitoring protocol.

      The info protocol is a name/value pair based system, where an individual database server node is queried to determine its configuration and status. The list of supported names can be found at:

      https://www.aerospike.com/docs/reference/info/index.html

    • createIndex

      reactor.core.publisher.Mono<Void> createIndex​(com.aerospike.client.policy.Policy policy, String namespace, String setName, String indexName, String binName, com.aerospike.client.query.IndexType indexType, com.aerospike.client.query.IndexCollectionType indexCollectionType)
      Reactively create complex secondary index to be used on bins containing collections.
      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      namespace - namespace - equivalent to database name
      setName - optional set name - equivalent to database table
      indexName - name of secondary index
      binName - bin name that data is indexed on
      indexType - underlying data type of secondary index
      indexCollectionType - index collection type
      Throws:
      com.aerospike.client.AerospikeException - if index create fails
    • dropIndex

      reactor.core.publisher.Mono<Void> dropIndex​(com.aerospike.client.policy.Policy policy, String namespace, String setName, String indexName)
      Reactively delete secondary index. This asynchronous server call will return before command is complete. The user can optionally wait for command completion by using the returned IndexTask instance.
      Parameters:
      policy - generic configuration parameters, pass in null for defaults
      namespace - namespace - equivalent to database name
      setName - optional set name - equivalent to database table
      indexName - name of secondary index
      Throws:
      com.aerospike.client.AerospikeException - if index create fails
    • getAerospikeClient

      com.aerospike.client.IAerospikeClient getAerospikeClient()
      Return the original non-reactive Aerospike Client