Aerospike.Client Namespace

Aerospike
Aerospike Client Library
Classes

  ClassDescription
Public classAdminPolicy
Policy attributes used for user administration commands.
Public classAerospikeClient
Instantiate an AerospikeClient object to access an Aerospike database cluster and perform database operations.

This client is thread-safe. One client instance should be used per cluster. Multiple threads should share this cluster instance.

Your application uses this class API to perform database operations such as writing and reading records, and selecting sets of records. Write operations include specialized functionality such as append/prepend and arithmetic addition.

Each record may have multiple bins, unless the Aerospike server nodes are configured as "single-bin". In "multi-bin" mode, partial records may be written or read by specifying the relevant subset of bins.

Public classAerospikeException
Aerospike exceptions that can be thrown from the client.
Public classAerospikeExceptionBackoff
Exception thrown when node is in backoff mode due to excessive number of errors.
Public classAerospikeExceptionBatchExists
Exception thrown when a batch exists method fails.
Public classAerospikeExceptionBatchRecordArray
Exception thrown when a batch write method fails. The records fields contains responses for key requests that succeeded and result codes for key requests that failed.
Public classAerospikeExceptionBatchRecords
Exception thrown when a batch read method fails. The records fields contains responses for key requests that succeeded and null records for key requests that failed.
Public classAerospikeExceptionCommandRejected
Exception thrown when asynchronous command was rejected because the max concurrent database commands have been exceeded.
Public classAerospikeExceptionConnection
Exception thrown when client can't connect to the server.
Public classAerospikeExceptionInvalidNamespace
Exception thrown when namespace is invalid.
Public classAerospikeExceptionInvalidNode
Exception thrown when chosen node is not active.
Public classAerospikeExceptionParse
Exception thrown when client can't parse data returned from server.
Public classAerospikeExceptionQueryTerminated
Exception thrown when query was terminated prematurely.
Public classAerospikeExceptionScanTerminated
Exception thrown when scan was terminated prematurely.
Public classAerospikeExceptionSerialize
Exception thrown when Java serialization error occurs.
Public classAerospikeExceptionTimeout
Exception thrown when database request expires before completing.
Public classAsyncClient
Asynchronous Aerospike client.

Your application uses this class to perform asynchronous database operations such as writing and reading records, and selecting sets of records. Write operations include specialized functionality such as append/prepend and arithmetic addition.

This client is thread-safe. One client instance should be used per cluster. Multiple threads should share this cluster instance.

Each record may have multiple bins, unless the Aerospike server nodes are configured as "single-bin". In "multi-bin" mode, partial records may be written or read by specifying the relevant subset of bins.

Public classAsyncClientPolicy
Asynchronous client policy configuration.
Public classAsyncCluster
Public classAsyncConnectionArgs
Normal async connection implemented with SocketAsyncEventArgs.
Public classAsyncConnectionTls
Async TLS connection.
Public classAsyncNode
Asynchronous server node representation.
Public classBaseTask
Task used to poll for server task completion.
Public classBatchDelete
Batch delete operation.
Public classBatchDeletePolicy
Policy attributes used in batch delete commands.
Public classBatchPolicy
Batch parent policy.
Public classBatchRead
Batch key and read only operations with default policy. Used in batch read commands where different bins are needed for each key.
Public classBatchReadPolicy
Policy attributes used in batch read commands.
Public classBatchRecord
Batch key and record result.
Public classBatchResults
Batch record results.
Public classBatchUDF
Batch user defined functions.
Public classBatchUDFPolicy
Policy attributes used in batch UDF execute commands.
Public classBatchWrite
Batch key and read/write operations with write policy.
Public classBatchWritePolicy
Policy attributes used in batch write commands.
Public classBin
Column name/value pair.
Public classBitExp
Bit expression generator. See Exp.

The bin expression argument in these methods can be a reference to a bin or the result of another expression. Expressions that modify bin values are only used for temporary expression evaluation and are not permanently applied to the bin. Bit modify expressions return the blob bin's value.

Offset orientation is left-to-right. Negative offsets are supported. If the offset is negative, the offset starts backwards from end of the bitmap. If an offset is out of bounds, a parameter error will be returned.

Public classBitOperation
Bit operations. Create bit operations used by client operate command. Offset orientation is left-to-right. Negative offsets are supported. If the offset is negative, the offset starts backwards from end of the bitmap. If an offset is out of bounds, a parameter error will be returned.

Bit operations on bitmap items nested in lists/maps are not currently supported by the server.

Public classBitPolicy
Bit operation policy.
Public classBlockScheduler
Block until command slot is available.
Public classClientPolicy
Client initialization arguments.
Public classCluster
Public classClusterStats
Cluster statistics.
Public classConnectionStats
Connection statistics.
Public classCTX
Nested CDT context. Identifies the location of nested list/map to apply the operation. for the current level. An array of CTX identifies location of the list/map on multiple levels on nesting.
Public classDelayScheduler
Put command on delay queue for later execution if capacity has been reached.
Public classExecuteTask
Task used to poll for long running execute job completion.
Public classExp
Expression generator.
Public classExpOperation
Expression operations.
Public classExpression
Packed expression byte instructions.
Public classFilter
Query filter used to narrow down query results.
Public classFormatter
This class contains the default formatter used when serializing objects to bytes.
Public classHLLExp
HyperLogLog (HLL) expression generator. See Exp.

The bin expression argument in these methods can be a reference to a bin or the result of another expression. Expressions that modify bin values are only used for temporary expression evaluation and are not permanently applied to the bin. HLL modify expressions return the HLL bin's value.

Public classHLLOperation
HyperLogLog (HLL) operations.

HyperLogLog operations on HLL items nested in lists/maps are not currently supported by the server.

Public classHLLPolicy
HyperLogLog operation policy.
Public classHost
Host name/port of database server.
Public classIndexTask
Task used to poll for long running create index completion.
Public classInfo
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

Public classInfoPolicy
Policy attributes used for info commands.
Public classJoin
Client-side join definition. The left record must contain a bin with a list of keys. That list will be used to retreive other records in the given namespace and set.
Public classKey
Unique record identifier. Records can be identified using a specified namespace, an optional set name, and a user defined key which must be unique within a set. Records can also be identified by namespace/digest which is the combination used on the server.
Public classKeyRecord
Container object for key identifier and record data.
Public classListExp
List expression generator. See Exp.

The bin expression argument in these methods can be a reference to a bin or the result of another expression. Expressions that modify bin values are only used for temporary expression evaluation and are not permanently applied to the bin.

List modify expressions return the bin's value. This value will be a list except when the list is nested within a map. In that case, a map is returned for the list modify expression.

List expressions support negative indexing. If the index is negative, the resolved index starts backwards from end of list. If an index is out of bounds, a parameter error will be returned. If a range is partially out of bounds, the valid part of the range will be returned. Index/Range examples:

  • Index 0: First item in list.
  • Index 4: Fifth item in list.
  • Index -1: Last item in list.
  • Index -3: Third to last item in list.
  • Index 1 Count 2: Second and third items in list.
  • Index -3 Count 3: Last three items in list.
  • Index -5 Count 4: Range between fifth to last item to second to last item inclusive.

Nested expressions are supported by optional CTX context arguments. Example:

  • bin = [[7,9,5],[1,2,3],[6,5,4,1]]
  • Get size of last list.
  • ListExp.size(Exp.ListBin("bin"), CTX.listIndex(-1))
  • result = 4

Public classListOperation
List bin operations. Create list operations used by client operate command.

List operations support negative indexing. If the index is negative, the resolved index starts backwards from end of list. If an index is out of bounds, a parameter error will be returned. If a range is partially out of bounds, the valid part of the range will be returned. Index/Range examples:

  • Index 0: First item in list.
  • Index 4: Fifth item in list.
  • Index -1: Last item in list.
  • Index -3: Third to last item in list.
  • Index 1 Count 2: Second and third items in list.
  • Index -3 Count 3: Last three items in list.
  • Index -5 Count 4: Range between fifth to last item to second to last item inclusive.

Nested CDT operations are supported by optional CTX context arguments. Examples:

  • bin = [[7,9,5],[1,2,3],[6,5,4,1]]
  • Append 11 to last list.
  • ListOperation.append("bin", Value.Get(11), CTX.listIndex(-1))
  • bin result = [[7,9,5],[1,2,3],[6,5,4,1,11]]
  • bin = {key1=[[7,9,5],[13]], key2=[[9],[2,4],[6,1,9]], key3=[[6,5]]}
  • Append 11 to lowest ranked list in map identified by "key2".
  • ListOperation.append("bin", Value.Get(11), CTX.mapKey(Value.Get("key2")), CTX.listRank(0))
  • bin result = {key1=[[7,9,5],[13]], key2=[[9],[2,4,11],[6,1,9]], key3=[[6,5]]}

Public classListPolicy
List policy directives when creating a list and writing list items.
Public classLog
Aerospike client logging facility. Logs can be filtered and message callbacks can be defined to control how log messages are written.
Public classLuaConfig
Lua static configuration variables. These variables apply to all AerospikeClient instances in a single process.
Public classMapExp
Map expression generator. See Exp.

The bin expression argument in these methods can be a reference to a bin or the result of another expression. Expressions that modify bin values are only used for temporary expression evaluation and are not permanently applied to the bin.

Map modify expressions return the bin's value. This value will be a map except when the map is nested within a list. In that case, a list is returned for the map modify expression.

All maps maintain an index and a rank. The index is the item offset from the start of the map, for both unordered and ordered maps. The rank is the sorted index of the value component. Map supports negative indexing for index and rank.

Index examples:

  • Index 0: First item in map.
  • Index 4: Fifth item in map.
  • Index -1: Last item in map.
  • Index -3: Third to last item in map.
  • Index 1 Count 2: Second and third items in map.
  • Index -3 Count 3: Last three items in map.
  • Index -5 Count 4: Range between fifth to last item to second to last item inclusive.

Rank examples:

  • Rank 0: Item with lowest value rank in map.
  • Rank 4: Fifth lowest ranked item in map.
  • Rank -1: Item with highest ranked value in map.
  • Rank -3: Item with third highest ranked value in map.
  • Rank 1 Count 2: Second and third lowest ranked items in map.
  • Rank -3 Count 3: Top three ranked items in map.

Nested expressions are supported by optional CTX context arguments. Example:

  • bin = {key1={key11=9,key12=4}, key2={key21=3,key22=5}}
  • Set map value to 11 for map key "key21" inside of map key "key2".
  • Get size of map key2.
  • MapExp.size(Exp.MapBin("bin"), CTX.mapKey(Value.get("key2"))
  • result = 2

Public classMapOperation
Map bin operations. Create map operations used by the client operate command. The default unique key map is unordered.

All maps maintain an index and a rank. The index is the item offset from the start of the map, for both unordered and ordered maps. The rank is the sorted index of the value component. Map supports negative indexing for index and rank.

Index examples:

  • Index 0: First item in map.
  • Index 4: Fifth item in map.
  • Index -1: Last item in map.
  • Index -3: Third to last item in map.
  • Index 1 Count 2: Second and third items in map.
  • Index -3 Count 3: Last three items in map.
  • Index -5 Count 4: Range between fifth to last item to second to last item inclusive.

Rank examples:

  • Rank 0: Item with lowest value rank in map.
  • Rank 4: Fifth lowest ranked item in map.
  • Rank -1: Item with highest ranked value in map.
  • Rank -3: Item with third highest ranked value in map.
  • Rank 1 Count 2: Second and third lowest ranked items in map.
  • Rank -3 Count 3: Top three ranked items in map.

Nested CDT operations are supported by optional CTX context arguments. Examples:

  • bin = {key1={key11=9,key12=4}, key2={key21=3,key22=5}}
  • Set map value to 11 for map key "key21" inside of map key "key2".
  • MapOperation.put(MapPolicy.Default, "bin", Value.Get("key21"), Value.Get(11), CTX.mapKey(Value.Get("key2")))
  • bin result = {key1={key11=9,key12=4},key2={key21=11,key22=5}}
  • bin = {key1={key11={key111=1},key12={key121=5}}, key2={key21={"key211",7}}}
  • Set map value to 11 in map key "key121" for highest ranked map ("key12") inside of map key "key1".
  • MapOperation.put(MapPolicy.Default, "bin", Value.Get("key121"), Value.Get(11), CTX.mapKey(Value.Get("key1")), CTX.mapRank(-1))
  • bin result = {key1={key11={key111=1},key12={key121=11}}, key2={key21={"key211",7}}}

Public classMapPolicy
Map policy directives when creating a map and writing map items.
Public classNode
Server node representation. This class manages server node connections and health status.
Public classNodeStats
Node statistics.
Public classOperation
Database operation definition. The class is used in client's operate() method.
Public classParticleType
Public classPartitionFilter
Partition filter used in scan/query.
Public classPartitionStatus
Public classPolicy
Transaction policy attributes used in all database commands.
Public classPrivilege
User privilege.
Public classQueryListenerCommand
Public classQueryListenerExecutor
Public classQueryPolicy
Container object for policy attributes used in query operations.
Public classRandomShift
Generate pseudo random numbers using xorshift128+ algorithm. This class is not thread-safe and should be instantiated once per thread.
Public classRecord
Container object for records. Records are equivalent to rows.
Public classRecordParser
Public classRecordSet
This class manages record retrieval from queries. Multiple threads will retrieve records from the server nodes and put these records on the queue. The single user thread consumes these records from the queue.
Public classRegexFlag
Regex bit flags.
Public classRegisterTask
Task used to poll for UDF registration completion.
Public classRejectScheduler
Reject command if capacity has been reached.
Public classResultCode
Database operation error codes.
Public classResultSet
This class manages result retrieval from queries. Multiple threads will retrieve results from the server nodes and put these results on the queue. The single user thread consumes these results from the queue.
Public classRole
Role definition.
Public classSaltParseException
Exception for signalling parse errors.
Public classScanPolicy
Container object for optional parameters used in scan operations.
Public classStatement
Query statement parameters.
Public classThreadLocalData
Public classTlsPolicy
TLS connection policy. Secure connections are only supported for AerospikeClient synchronous commands.

Secure connections are not supported for asynchronous commands because AsyncClient uses the best performing SocketAsyncEventArgs. Unfortunately, SocketAsyncEventArgs is not supported by the provided SslStream.

Public classUser
User and assigned roles.
Public classValue
Polymorphic value classes used to efficiently serialize objects into the wire protocol.
Public classValueBlobValue
Blob value.
Public classValueBooleanValue
Boolean value.
Public classValueBoolIntValue
Boolean value that converts to integer when sending a bin to the server. This class will be deleted once full conversion to boolean particle type is complete.
Public classValueByteSegmentValue
Byte segment value.
Public classValueBytesValue
Byte array value.
Public classValueByteValue
Byte value.
Public classValueDoubleValue
Double value.
Public classValueFloatValue
Float value.
Public classValueGeoJSONValue
GeoJSON value.
Public classValueHLLValue
HyperLogLog value.
Public classValueInfinityValue
Infinity value.
Public classValueIntegerValue
Integer value.
Public classValueListValue
List value.
Public classValueLongValue
Long value.
Public classValueMapValue
Map value.
Public classValueNullValue
Empty value.
Public classValueShortValue
Short value.
Public classValueSignedByteValue
Byte value.
Public classValueStringValue
String value.
Public classValueUnsignedIntegerValue
Unsigned integer value.
Public classValueUnsignedLongValue
Unsigned long value.
Public classValueUnsignedShortValue
Unsigned short value.
Public classValueValueArray
Value array.
Public classValueWildcardValue
Wildcard value.
Public classWritePolicy
Container object for policy attributes used in write operations. This object is passed into methods where database writes can occur.
Interfaces

  InterfaceDescription
Public interfaceAsyncScheduler
Async command scheduling interface.
Public interfaceBatchListListener
Asynchronous result notifications for batch get commands with variable bins per key. The result is sent in a single list.
Public interfaceBatchOperateListListener
Asynchronous result notifications for batch operate commands with variable operations.
Public interfaceBatchRecordArrayListener
Asynchronous result notifications for batch operate commands.
Public interfaceBatchRecordSequenceListener
Asynchronous result notifications for batch operate commands. The results are sent one record at a time.
Public interfaceBatchSequenceListener
Asynchronous result notifications for batch get commands with variable bins per key. The results are sent one batch record at a time.
Public interfaceDeleteListener
Asynchronous result notifications for delete commands.
Public interfaceExecuteListener
Asynchronous result notifications for execute commands.
Public interfaceExistsArrayListener
Asynchronous result notifications for batch exists commands. The result is sent in a single array.
Public interfaceExistsListener
Asynchronous result notifications for exists commands.
Public interfaceExistsSequenceListener
Asynchronous result notifications for batch exists commands. The results are sent one record at a time.
Public interfaceIAerospikeClient
Public interfaceIAsyncClient
Asynchronous Aerospike client.

Your application uses this interface to perform asynchronous database operations such as writing and reading records, and selecting sets of records. Write operations include specialized functionality such as append/prepend and arithmetic addition.

Clients implementing this interface must be thread-safe. One client instance should be used per cluster. Multiple threads should share same cluster instance.

Each record may have multiple bins, unless the Aerospike server nodes are configured as "single-bin". In "multi-bin" mode, partial records may be written or read by specifying the relevant subset of bins.

Public interfaceIAsyncCommand
Public interfaceInfoListener
Asynchronous info command result notification.
Public interfaceIRecordParser
Public interfaceIRecordSet
Public interfaceIResultSet
Public interfaceRecordArrayListener
Asynchronous result notifications for batch get commands. The result is sent in a single array.
Public interfaceRecordListener
Asynchronous result notifications for get or operate commands.
Public interfaceRecordSequenceListener
Asynchronous result notifications for batch get and scan commands. The results are sent one record at a time.
Public interfaceWriteListener
Asynchronous result notifications for put, append, prepend, add, delete and touch commands.
Delegates

  DelegateDescription
Public delegateLogCallback
The log is disabled by default. The caller can override this and set a private method which will be called for each log entry.
Public delegateQueryListener
This method will be called for each record returned from a sync query. The user may throw a AerospikeExceptionQueryTerminated exception if the query should be aborted. If an exception is thrown, parallel query command threads to other nodes will also be terminated.
Public delegateScanCallback
This method will be called for each record returned from a scan. The user may throw a AerospikeExceptionScanTerminated exception if the scan should be aborted. If any exception is thrown, parallel scan threads to other nodes will also be terminated and the exception will be propagated back through the initiating scan call.

If concurrentNodes is true and maxConcurrentNodes is not equal one, then your scan callback implementation must be thread safe.

Enumerations

  EnumerationDescription
Public enumerationAuthMode
Authentication mode.
Public enumerationBatchRecordType
Batch command type.
Public enumerationBitOverflowAction
Bitwise operation flags for resize.
Public enumerationBitResizeFlags
Bitwise operation flags for resize.
Public enumerationBitWriteFlags
Bitwise operation policy write flags.
Public enumerationCommitLevel
Desired consistency guarantee when committing a transaction on the server.
Public enumerationExpType
Expression type.
Public enumerationExpReadFlags
Expression read flags.
Public enumerationExpWriteFlags
Expression write flags.
Public enumerationGenerationPolicy
How to handle record writes based on record generation.
Public enumerationHLLWriteFlags
HyperLogLog operation policy write flags.
Public enumerationIndexCollectionType
Secondary index collection type.
Public enumerationIndexType
Underlying data type of secondary index.
Public enumerationLanguage
User defined function languages.
Public enumerationListOrder
List storage order.
Public enumerationListReturnType
List return type. Type of data to return when selecting or removing items from the list.
Public enumerationListSortFlags
List sort flags
Public enumerationListWriteFlags
List write bit flags.
Public enumerationLogLevel
Log escalation level.
Public enumerationMapOrder
Map storage order.
Public enumerationMapReturnType
Map return type. Type of data to return when selecting or removing items from the map.
Public enumerationMapWriteFlags
Map write bit flags. Requires server versions >= 4.3.
Public enumerationMapWriteMode
Unique key map write type. This enum should only be used for server versions < 4.3. are recommended for server versions >= 4.3.
Public enumerationMaxCommandAction
How to handle cases when the asynchronous maximum number of concurrent database commands have been exceeded.
Public enumerationOperationType
Public enumerationPrivilegeCode
Permission codes define the type of permission granted for a user's role.
Public enumerationReadModeAP
Read policy for AP (availability) namespaces.

How duplicates should be consulted in a read operation. Only makes a difference during migrations and only applicable in AP mode.

Public enumerationReadModeSC
Read policy for SC (strong consistency) namespaces.

Determines SC read consistency options.

Public enumerationRecordExistsAction
How to handle writes when the record already exists.
Public enumerationReplica
Defines algorithm used to determine the target node for a command. Scan and query are not affected by replica algorithm.