AerospikeClient MembersAerospike

The AerospikeClient type exposes the following members.
Constructors

  NameDescription
Public methodAerospikeClient(String, Int32)
Initialize Aerospike client. If the host connection succeeds, the client will:
  • Add host to the cluster map
  • Request host's list of other nodes in cluster
  • Add these nodes to cluster map

If the connection succeeds, the client is ready to process database requests. If the connection fails, the cluster will remain in a disconnected state until the server is activated.

Public methodAerospikeClient(ClientPolicy,  Host )
Initialize Aerospike client with suitable hosts to seed the cluster map. The client policy is used to set defaults and size internal data structures. For each host connection that succeeds, the client will:
  • Add host to the cluster map
  • Request host's list of other nodes in cluster
  • Add these nodes to cluster map

In most cases, only one host is necessary to seed the cluster. The remaining hosts are added as future seeds in case of a complete network failure.

If one connection succeeds, the client is ready to process database requests. If all connections fail and the policy's failIfNotConnected is true, a connection exception will be thrown. Otherwise, the cluster will remain in a disconnected state until the server is activated.

Public methodAerospikeClient(ClientPolicy, String, Int32)
Initialize Aerospike client. The client policy is used to set defaults and size internal data structures. If the host connection succeeds, the client will:
  • Add host to the cluster map
  • Request host's list of other nodes in cluster
  • Add these nodes to cluster map

If the connection succeeds, the client is ready to process database requests. If the connection fails and the policy's failOnInvalidHosts is true, a connection exception will be thrown. Otherwise, the cluster will remain in a disconnected state until the server is activated.

Back to Top
Methods

  NameDescription
Public methodAdd
Add integer bin values to existing record bin values. 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.
Public methodAppend
Append bin string values to existing record bin values. 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.
Public methodChangePassword
Change user's password.
Public methodClose
Close all client connections to database server nodes.
Public methodCreateIndex(Policy, String, String, String, String, IndexType)
Create scalar 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.
Public methodCreateIndex(Policy, String, String, String, String, IndexType, IndexCollectionType)
Create complex secondary index on bins containing collections. This asynchronous server call will return before command is complete. The user can optionally wait for command completion by using the returned IndexTask instance.
Public methodCreateRole
Create user defined role.
Public methodCreateUser
Create user with password and roles. Clear-text password will be hashed using bcrypt before sending to server.
Public methodDelete
Delete record for specified key. Return whether record existed on server before deletion. The policy specifies the transaction timeout.
Public methodDispose
Close all client connections to database server nodes.
Public methodDropIndex
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.
Public methodDropRole
Drop user defined role.
Public methodDropUser
Remove user from cluster.
Public methodExecute(WritePolicy, Key, String, String,  Value )
Execute user defined function on server and return results. The function operates on a single record. The package name is used to locate the udf file location:

udf file = <server udf dir>/<package name>.lua

Public methodExecute(WritePolicy, Statement, String, String,  Value )
Apply user defined function on records that match the statement filter. Records are not returned to the client. This asynchronous server call will return before command is complete. The user can optionally wait for command completion by using the returned ExecuteTask instance.
Public methodExists(BatchPolicy,  Key )
Check if multiple record keys exist in one batch call. The returned boolean array is in positional order with the original key array order. The policy can be used to specify timeouts and maximum concurrent threads.
Public methodExists(Policy, Key)
Determine if a record key exists. Return whether record exists or not. The policy can be used to specify timeouts.
Public methodGet(BatchPolicy,  Key )
Read multiple records for specified keys in one batch call. 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 and maximum concurrent threads.
Public methodGet(BatchPolicy, List BatchRead )
Read multiple records for specified batch keys in one batch call. 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 BatchRecord key field is not found, the corresponding record field will be null. The policy can be used to specify timeouts and maximum concurrent threads. This method requires Aerospike Server version >= 3.6.0.
Public methodGet(Policy, Key)
Read entire record for specified key. If found, return record instance. If not found, return null. The policy can be used to specify timeouts.
Public methodGet(BatchPolicy,  Key ,  String )
Read multiple record headers and bins for specified keys in one batch call. 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 and maximum concurrent threads.
Public methodGet(Policy, Key,  String )
Read record header and bins for specified key. If found, return record instance. If not found, return null. The policy can be used to specify timeouts.
Public methodGetClusterStats
Return operating cluster statistics.
Public methodGetHeader(BatchPolicy,  Key )
Read multiple record header data for specified keys in one batch call. 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 and maximum concurrent threads.
Public methodGetHeader(Policy, Key)
Read record generation and expiration only for specified key. Bins are not read. If found, return record instance. If not found, return null. The policy can be used to specify timeouts.
Public methodGrantPrivileges
Grant privileges to an user defined role.
Public methodGrantRoles
Add roles to user's list of roles.
Public methodJoin(BatchPolicy, Key,  Join )
Read all bins in left record and then join with right records. Each join bin name (Join.binNameKeys) must exist in the left record. The join bin must contain a list of keys. Those key are used to retrieve other records using a separate batch get.
Public methodJoin(BatchPolicy, Key,  String ,  Join )
Read specified bins in left record and then join with right records. Each join bin name (Join.leftKeysBinName) must exist in the left record. The join bin must contain a list of keys. Those key are used to retrieve other records using a separate batch get.
Public methodOperate
Perform multiple read/write operations on a single key in one batch call. A record will be returned if there is a read in the operations list. 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.

Public methodPrepend
Prepend bin string values to existing record bin values. The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists. This call works only for string values.
Public methodPut
Write record bin(s). The policy specifies the transaction timeout, record expiration and how the transaction is handled when the record already exists.
Public methodQuery(QueryPolicy, Statement)
Execute query and return record iterator. The query executor puts records on a queue in separate threads. The calling thread concurrently pops records off the queue through the record iterator.
Public methodQuery(QueryPolicy, Statement, Action Key, Record )
Execute query and call action for each record returned from server.
Public methodQueryAggregate(QueryPolicy, Statement)
Execute query, apply statement's aggregation function, and return result iterator. The aggregation function should be initialized via the statement's SetAggregateFunction() and should be located in a Lua resource file located in an assembly.

The query executor puts results on a queue in separate threads. The calling thread concurrently pops results off the queue through the ResultSet iterator. The aggregation function is called on both server and client (final reduce). Therefore, the Lua script file must also reside on both server and client.

Public methodQueryAggregate(QueryPolicy, Statement, Action Object )
Execute query, apply statement's aggregation function, call action for each aggregation object returned from server.
Public methodQueryAggregate(QueryPolicy, Statement, String, String,  Value )
Execute query, apply statement's aggregation function, and return result iterator. The aggregation function should be located in a Lua script file that can be found from the "LuaConfig.PackagePath" paths static variable. The default package path is "udf/?.lua" where "?" is the packageName.

The query executor puts results on a queue in separate threads. The calling thread concurrently pops results off the queue through the ResultSet iterator. The aggregation function is called on both server and client (final reduce). Therefore, the Lua script file must also reside on both server and client.

Public methodQueryRole
Retrieve role definition.
Public methodQueryRoles
Retrieve all roles.
Public methodQueryUser
Retrieve roles for a given user.
Public methodQueryUsers
Retrieve all users and their roles.
Public methodRegister(Policy, String, String, Language)
Register package located in a file containing user defined functions with server. This asynchronous server call will return before command is complete. The user can optionally wait for command completion by using the returned RegisterTask instance.
Public methodRegister(Policy, Assembly, String, String, Language)
Register package located in a resource containing user defined functions with server. This asynchronous server call will return before command is complete. The user can optionally wait for command completion by using the returned RegisterTask instance.
Public methodRegisterUdfString
Register UDF functions located in a code string with server. Example:
 String code = @"
 local function reducer(val1,val2)
      return val1 + val2
 end

 function sum_single_bin(stream,name)
   local function mapper(rec)
     return rec[name]
   end
   return stream : map(mapper) : reduce(reducer)
 end
";

    client.RegisterUdfString(null, code, "mysum.lua", Language.LUA);

This asynchronous server call will return before command is complete. The user can optionally wait for command completion by using the returned RegisterTask instance.

Public methodRemoveUdf
Remove user defined function from server nodes.
Public methodRevokePrivileges
Revoke privileges from an user defined role.
Public methodRevokeRoles
Remove roles from user's list of roles.
Public methodScanAll
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 call will block until the scan is complete - callbacks are made within the scope of this call.

Public methodScanNode(ScanPolicy, Node, String, String, ScanCallback,  String )
Read all records in specified namespace and set for one node only.

This call will block until the scan is complete - callbacks are made within the scope of this call.

Public methodScanNode(ScanPolicy, String, String, String, ScanCallback,  String )
Read all records in specified namespace and set for one node only. The node is specified by name.

This call will block until the scan is complete - callbacks are made within the scope of this call.

Public methodTouch
Reset record's time to expiration using the policy's expiration. Fail if the record does not exist.
Public methodTruncate
Remove records in specified namespace/set efficiently. This method is many orders of magnitude faster than deleting records one at a time.

See Onlinehttps://www.aerospike.com/docs/reference/info#truncate

This asynchronous server call may return before the truncation is complete. The user can still write new records after the server returns because new records will have last update times greater than the truncate cutoff (set at the time of truncate call).

Back to Top
Fields

  NameDescription
Public fieldbatchPolicyDefault
Default batch policy that is used when batch command policy is null.
Public fieldinfoPolicyDefault
Default info policy that is used when info command policy is null.
Public fieldqueryPolicyDefault
Default query policy that is used when query command policy is null.
Public fieldreadPolicyDefault
Default read policy that is used when read command policy is null.
Public fieldscanPolicyDefault
Default scan policy that is used when scan command policy is null.
Public fieldwritePolicyDefault
Default write policy that is used when write command policy is null.
Back to Top
Properties

  NameDescription
Public propertyConnected
Return if we are ready to talk to the database server cluster.
Public propertyNodes
Return array of active server nodes in the cluster.
Back to Top
See Also