Key-Value
This is a legacy Apache Ignite documentation
The new documentation is hosted here: https://ignite.apache.org/docs/latest/
Key-Value Operations
The CacheClient
class provides methods to work with the key and the value of the cache using Key-Value operations - put, get, put all, get all, replace and others. This example shows how to do that:
const IgniteClient = require('apache-ignite-client');
const IgniteClientConfiguration = IgniteClient.IgniteClientConfiguration;
const ObjectType = IgniteClient.ObjectType;
const CacheEntry = IgniteClient.CacheEntry;
async function performCacheKeyValueOperations() {
const igniteClient = new IgniteClient();
try {
await igniteClient.connect(new IgniteClientConfiguration('127.0.0.1:10800'));
const cache = (await igniteClient.getOrCreateCache('myCache')).
setKeyType(ObjectType.PRIMITIVE_TYPE.INTEGER);
// put and get value
await cache.put(1, 'abc');
const value = await cache.get(1);
// put and get multiple values using putAll()/getAll() methods
await cache.putAll([new CacheEntry(2, 'value2'), new CacheEntry(3, 'value3')]);
const values = await cache.getAll([1, 2, 3]);
// removes all entries from the cache
await cache.clear();
}
catch (err) {
console.log(err.message);
}
finally {
igniteClient.disconnect();
}
}
performCacheKeyValueOperations();
Scan Query
Node.JS client fully supports Ignite Scan queries. A query method returns a cursor class that can be used to iterate over a result set lazily or to get the whole result at once.
First, define the query by creating and configuring an instance of the ScanQuery
class.
Then, pass the ScanQuery
instance to the Cache instance
and execute the query. Finally, use the Cursor
instance to iterate over or get all cache entries returned by the query.
const IgniteClient = require('apache-ignite-client');
const IgniteClientConfiguration = IgniteClient.IgniteClientConfiguration;
const ObjectType = IgniteClient.ObjectType;
const CacheEntry = IgniteClient.CacheEntry;
const ScanQuery = IgniteClient.ScanQuery;
async function performScanQuery() {
const igniteClient = new IgniteClient();
try {
await igniteClient.connect(new IgniteClientConfiguration('127.0.0.1:10800'));
const cache = (await igniteClient.getOrCreateCache('myCache')).
setKeyType(ObjectType.PRIMITIVE_TYPE.INTEGER);
// put multiple values using putAll()
await cache.putAll([
new CacheEntry(1, 'value1'),
new CacheEntry(2, 'value2'),
new CacheEntry(3, 'value3')]);
// create and configure scan query
const scanQuery = new ScanQuery().
setPageSize(1);
// obtain scan query cursor
const cursor = await cache.query(scanQuery);
// getAll cache entries returned by the scan query
for (let cacheEntry of await cursor.getAll()) {
console.log(cacheEntry.getValue());
}
await igniteClient.destroyCache('myCache');
}
catch (err) {
console.log(err.message);
}
finally {
igniteClient.disconnect();
}
}
performScanQuery();
Node.JS example files
Node.JS thin client contains fully workable examples to demonstrate the behavior of the client.
Updated 2 months ago