Aerospike.Client NamespaceAerospike
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 classAerospikeException Backoff
Exception thrown when node is in backoff mode due to excessive number of errors.
Public classAerospikeException CommandRejected
Exception thrown when asynchronous command was rejected because the max concurrent database commands have been exceeded.
Public classAerospikeException Connection
Exception thrown when client can't connect to the server.
Public classAerospikeException InvalidNode
Exception thrown when chosen node is not active.
Public classAerospikeException Parse
Exception thrown when client can't parse data returned from server.
Public classAerospikeException QueryTerminated
Exception thrown when query was terminated prematurely.
Public classAerospikeException ScanTerminated
Exception thrown when scan was terminated prematurely.
Public classAerospikeException Serialize
Exception thrown when Java serialization error occurs.
Public classAerospikeException Timeout
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 classAsyncNode
Asynchronous server node representation.
Public classBaseTask
Task used to poll for server task completion.
Public classBatchPolicy
Configuration variables for multi-record get and exist requests.
Public classBCrypt
BCrypt implementation.
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 classClientPolicy
Client initialization arguments.
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 classExecuteTask
Task used to poll for long running execute job completion.
Public classExp
Expression generator.
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:

Onlinehttps://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 classPolicy
Transaction policy attributes used in all database commands.
Public classPredExpObsolete.
Predicate expression filter. Predicate expression filters are applied on the query results on the server. Predicate expression filters may occur on any bin in the record.

This is an experimental API and subject to change.

Public classPrivilege
User privilege.
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 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 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 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 classValue BlobValue
Blob value.
Public classValue BooleanValue
Boolean value.
Public classValue ByteSegmentValue
Byte segment value.
Public classValue BytesValue
Byte array value.
Public classValue ByteValue
Byte value.
Public classValue DoubleValue
Double value.
Public classValue FloatValue
Float value.
Public classValue GeoJSONValue
GeoJSON value.
Public classValue HLLValue
HyperLogLog value.
Public classValue InfinityValue
Infinity value.
Public classValue IntegerValue
Integer value.
Public classValue ListValue
List value.
Public classValue LongValue
Long value.
Public classValue MapValue
Map value.
Public classValue NullValue
Empty value.
Public classValue ShortValue
Short value.
Public classValue SignedByteValue
Byte value.
Public classValue StringValue
String value.
Public classValue UnsignedIntegerValue
Unsigned integer value.
Public classValue UnsignedLongValue
Unsigned long value.
Public classValue UnsignedShortValue
Unsigned short value.
Public classValue ValueArray
Value array.
Public classValue WildcardValue
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 interfaceBatchListListener
Asynchronous result notifications for batch get commands with variable bins per key. The result is sent in a single list.
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 interfaceCommandExp
Interface for embedding either PredExp or Expression in a command. For internal use only.
Public interfaceDeleteListener
Asynchronous result notifications for delete 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 interfaceInfoListener
Asynchronous info command result notification.
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 delegateLog Callback
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 delegateScanCallback
This method will be called for each record returned from a scan. The user may throw a 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.

Multiple threads will likely be calling scanCallback in parallel. Therefore, your scanCallback implementation should be thread safe.

Enumerations

  EnumerationDescription
Public enumerationAuthMode
Authentication mode when user/password is defined.
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 enumerationExp Type
Expression type.
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 enumerationLog Level
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 enumerationOperation Type
Public enumerationPriority
Priority of operations on database server. This enum is obsolete and will eventually be removed.
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.