Aerospike provides a batch API to access data in the cluster.
The Batch API is a collection of APIs that use as_keyset as for looking up records for accessing in the cluster.
|
as_status | aerospike_batch_exists (aerospike *as, as_error *err, const as_policy_batch *policy, const as_batch *batch, aerospike_batch_read_callback callback, void *udata) |
|
as_status | aerospike_batch_get (aerospike *as, as_error *err, const as_policy_batch *policy, const as_batch *batch, aerospike_batch_read_callback callback, void *udata) |
|
as_status | aerospike_batch_get_bins (aerospike *as, as_error *err, const as_policy_batch *policy, const as_batch *batch, const char **bins, uint32_t n_bins, aerospike_batch_read_callback callback, void *udata) |
|
as_status | aerospike_batch_read (aerospike *as, as_error *err, const as_policy_batch *policy, as_batch_read_records *records) |
|
as_status | aerospike_batch_read_async (aerospike *as, as_error *err, const as_policy_batch *policy, as_batch_read_records *records, as_async_batch_listener listener, void *udata, as_event_loop *event_loop) |
|
static as_batch_read_records * | as_batch_read_create (uint32_t capacity) |
|
void | as_batch_read_destroy (as_batch_read_records *records) |
|
static void | as_batch_read_init (as_batch_read_records *records, uint32_t capacity) |
|
static as_batch_read_record * | as_batch_read_reserve (as_batch_read_records *records) |
|
typedef bool(* aerospike_batch_read_callback)(const as_batch_read *results, uint32_t n, void *udata) |
This callback will be called with the results of aerospike_batch_get(), or aerospike_batch_exists() functions.
The results
argument will be an array of n
as_batch_read entries. The results
argument is on the stack and is only available within the context of the callback. To use the data outside of the callback, copy the data.
bool my_callback(
const as_batch_read * results, uint32_t n,
void * udata) {
return true;
}
- Parameters
-
results | The results from the batch request. |
n | The number of results from the batch request. |
udata | User-data provided to the calling function. |
- Returns
true
on success. Otherwise, an error occurred.
Definition at line 135 of file aerospike_batch.h.
Asynchronous batch user callback. This function is called once when the batch completes or an error has occurred.
- Parameters
-
err | This error structure is only populated when the command fails. Null on success. |
records | Returned records. Records must be destroyed with as_batch_read_destroy() when done. |
udata | User data that is forwarded from asynchronous command function. |
event_loop | Event loop that this command was executed on. Use this event loop when running nested asynchronous commands when single threaded behavior is desired for the group of commands. |
Definition at line 157 of file aerospike_batch.h.
Test whether multiple records exist in the cluster.
fprintf(stderr, "error(%d) %s at [%s:%d]", err.code, err.message, err.file, err.line);
}
- Parameters
-
as | The aerospike instance to use for this operation. |
err | The as_error to be populated if an error occurs. |
policy | The policy to use for this operation. If NULL, then the default policy will be used. |
batch | The batch of keys to read. |
callback | The callback to invoke for each record read. |
udata | The user-data for the callback. |
- Returns
- AEROSPIKE_OK if successful. Otherwise an error.
Look up multiple records by key, then return all bins.
fprintf(stderr, "error(%d) %s at [%s:%d]", err.code, err.message, err.file, err.line);
}
- Parameters
-
as | The aerospike instance to use for this operation. |
err | The as_error to be populated if an error occurs. |
policy | The policy to use for this operation. If NULL, then the default policy will be used. |
batch | The batch of keys to read. |
callback | The callback to invoke for each record read. |
udata | The user-data for the callback. |
- Returns
- AEROSPIKE_OK if successful. Otherwise an error.
Look up multiple records by key, then return specified bins.
const char* bin_filters[] = {"bin1", "bin2"};
fprintf(stderr, "error(%d) %s at [%s:%d]", err.code, err.message, err.file, err.line);
}
- Parameters
-
as | The aerospike instance to use for this operation. |
err | The as_error to be populated if an error occurs. |
policy | The policy to use for this operation. If NULL, then the default policy will be used. |
batch | The batch of keys to read. |
bins | Bin filters. Only return these bins. |
n_bins | The number of bin filters. |
callback | The callback to invoke for each record read. |
udata | The user-data for the callback. |
- Returns
- AEROSPIKE_OK if successful. Otherwise an error.
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 batch array. This method requires Aerospike Server version >= 3.6.0.
char* bin_names[] = {"bin1", "bin2"};
char* set = "set";
fprintf(stderr, "error(%d) %s at [%s:%d]", err.code, err.message, err.file, err.line);
}
- Parameters
-
as | The aerospike instance to use for this operation. |
err | The as_error to be populated if an error occurs. |
policy | The policy to use for this operation. If NULL, then the default policy will be used. |
records | List of keys and bins to retrieve. The returned records are located in the same array. |
- Returns
- AEROSPIKE_OK if successful. Otherwise an error.
Asynchronously 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 batch array. This method requires Aerospike Server version >= 3.6.0.
{
if (err) {
fprintf(stderr,
"Command failed: %d %s\n", err->
code, err->
message);
}
else {
for (uint32_t i = 0; i < list->
size; i++) {
}
}
}
char* bin_names[] = {"bin1", "bin2"};
char* ns = "ns";
char* set = "set";
}
- Parameters
-
as | The aerospike instance to use for this operation. |
err | The as_error to be populated if an error occurs. |
policy | The policy to use for this operation. If NULL, then the default policy will be used. |
records | List of keys and bins to retrieve. The returned records are located in the same array. Must create using as_batch_read_create() (which allocates memory on heap) because async method will return immediately after queueing command. |
listener | User function to be called with command results. |
udata | User data to be forwarded to user callback. |
event_loop | Event loop assigned to run this command. If NULL, an event loop will be choosen by round-robin. |
- Returns
- AEROSPIKE_OK if async command succesfully queued. Otherwise an error.
Create as_batch_read_records
on heap with specified list capacity on the heap.
When the batch is no longer needed, then use as_batch_destroy() to release the batch and associated resources.
- Parameters
-
capacity | Initial capacity of batch record list. List will resize when necessary. |
- Returns
- Batch record list.
Definition at line 209 of file aerospike_batch.h.
References as_vector_create().
Destroy keys and records in record list. It's the responsility of the caller to free as_batch_read_record.bin_names
when necessary.
- Parameters
-
records | Batch record list. |