Interface ICacheClient<TK, TV>
Client cache API. See GetCache<TK, TV>(String).
Namespace: Apache.Ignite.Core.Client.Cache
Assembly: Apache.Ignite.Core.dll
Syntax
public interface ICacheClient<TK, TV>
Type Parameters
Name | Description |
---|---|
TK | |
TV |
Properties
Item[TK]
Gets or sets a cache value with the specified key. Shortcut to Get(TK) and Put(TK, TV)
Declaration
TV this[TK key] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key. |
Property Value
Type | Description |
---|---|
TV | Cache value with the specified key. |
Name
Name of this cache (null
for default cache).
Declaration
string Name { get; }
Property Value
Type | Description |
---|---|
System.String |
Methods
Clear()
Clears the contents of the cache, without notifying listeners or CacheWriters.
Declaration
void Clear()
Clear(TK)
Clear entry from the cache, without notifying listeners or CacheWriters.
Declaration
void Clear(TK key)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key to clear. |
ClearAll(IEnumerable<TK>)
Clear entries from the cache, without notifying listeners or CacheWriters.
Declaration
void ClearAll(IEnumerable<TK> keys)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<TK> | keys | Keys to clear. |
ClearAllAsync(IEnumerable<TK>)
Clear entries from the cache, without notifying listeners or CacheWriters.
Declaration
Task ClearAllAsync(IEnumerable<TK> keys)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<TK> | keys | Keys to clear. |
Returns
Type | Description |
---|---|
Task |
ClearAsync()
Clears the contents of the cache, without notifying listeners or CacheWriters.
Declaration
Task ClearAsync()
Returns
Type | Description |
---|---|
Task |
ClearAsync(TK)
Clear entry from the cache, without notifying listeners or CacheWriters.
Declaration
Task ClearAsync(TK key)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key to clear. |
Returns
Type | Description |
---|---|
Task |
ContainsKey(TK)
Check if cache contains mapping for this key.
Declaration
bool ContainsKey(TK key)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key. |
Returns
Type | Description |
---|---|
System.Boolean | True if cache contains mapping for this key. |
ContainsKeyAsync(TK)
Check if cache contains mapping for this key.
Declaration
Task<bool> ContainsKeyAsync(TK key)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key. |
Returns
Type | Description |
---|---|
Task<System.Boolean> | True if cache contains mapping for this key. |
ContainsKeys(IEnumerable<TK>)
Check if cache contains mapping for these keys.
Declaration
bool ContainsKeys(IEnumerable<TK> keys)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<TK> | keys | Keys. |
Returns
Type | Description |
---|---|
System.Boolean | True if cache contains mapping for all these keys. |
ContainsKeysAsync(IEnumerable<TK>)
Check if cache contains mapping for these keys.
Declaration
Task<bool> ContainsKeysAsync(IEnumerable<TK> keys)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<TK> | keys | Keys. |
Returns
Type | Description |
---|---|
Task<System.Boolean> | True if cache contains mapping for all these keys. |
Get(TK)
Retrieves value mapped to the specified key from cache.
Declaration
TV Get(TK key)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key. |
Returns
Type | Description |
---|---|
TV | Value. |
GetAll(IEnumerable<TK>)
Retrieves values mapped to the specified keys from cache.
Declaration
ICollection<ICacheEntry<TK, TV>> GetAll(IEnumerable<TK> keys)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<TK> | keys | Keys. |
Returns
Type | Description |
---|---|
ICollection<ICacheEntry<TK, TV>> | Map of key-value pairs. |
GetAllAsync(IEnumerable<TK>)
Retrieves values mapped to the specified keys from cache.
Declaration
Task<ICollection<ICacheEntry<TK, TV>>> GetAllAsync(IEnumerable<TK> keys)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<TK> | keys | Keys. |
Returns
Type | Description |
---|---|
Task<ICollection<ICacheEntry<TK, TV>>> | Map of key-value pairs. |
GetAndPut(TK, TV)
Associates the specified value with the specified key in this cache, returning an existing value if one existed.
Declaration
CacheResult<TV> GetAndPut(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key with which the specified value is to be associated. |
TV | val | Value to be associated with the specified key. |
Returns
Type | Description |
---|---|
CacheResult<TV> | The value associated with the key at the start of the operation. |
GetAndPutAsync(TK, TV)
Associates the specified value with the specified key in this cache, returning an existing value if one existed.
Declaration
Task<CacheResult<TV>> GetAndPutAsync(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key with which the specified value is to be associated. |
TV | val | Value to be associated with the specified key. |
Returns
Type | Description |
---|---|
Task<CacheResult<TV>> | The value associated with the key at the start of the operation. |
GetAndPutIfAbsent(TK, TV)
Stores given key-value pair in cache only if cache had no previous mapping for it.
Declaration
CacheResult<TV> GetAndPutIfAbsent(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key to store in cache. |
TV | val | Value to be associated with the given key. |
Returns
Type | Description |
---|---|
CacheResult<TV> | Previously contained value regardless of whether put happened or not. |
GetAndPutIfAbsentAsync(TK, TV)
Stores given key-value pair in cache only if cache had no previous mapping for it.
Declaration
Task<CacheResult<TV>> GetAndPutIfAbsentAsync(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key to store in cache. |
TV | val | Value to be associated with the given key. |
Returns
Type | Description |
---|---|
Task<CacheResult<TV>> | Previously contained value regardless of whether put happened or not. |
GetAndRemove(TK)
Atomically removes the entry for a key only if currently mapped to some value.
Declaration
CacheResult<TV> GetAndRemove(TK key)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key with which the specified value is associated. |
Returns
Type | Description |
---|---|
CacheResult<TV> | The value if one existed. |
GetAndRemoveAsync(TK)
Atomically removes the entry for a key only if currently mapped to some value.
Declaration
Task<CacheResult<TV>> GetAndRemoveAsync(TK key)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key with which the specified value is associated. |
Returns
Type | Description |
---|---|
Task<CacheResult<TV>> | The value if one existed. |
GetAndReplace(TK, TV)
Atomically replaces the value for a given key if and only if there is a value currently mapped by the key.
Declaration
CacheResult<TV> GetAndReplace(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key with which the specified value is to be associated. |
TV | val | Value to be associated with the specified key. |
Returns
Type | Description |
---|---|
CacheResult<TV> | The previous value associated with the specified key. |
GetAndReplaceAsync(TK, TV)
Atomically replaces the value for a given key if and only if there is a value currently mapped by the key.
Declaration
Task<CacheResult<TV>> GetAndReplaceAsync(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key with which the specified value is to be associated. |
TV | val | Value to be associated with the specified key. |
Returns
Type | Description |
---|---|
Task<CacheResult<TV>> | The previous value associated with the specified key. |
GetAsync(TK)
Retrieves value mapped to the specified key from cache.
Declaration
Task<TV> GetAsync(TK key)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key. |
Returns
Type | Description |
---|---|
Task<TV> | Value. |
GetConfiguration()
Gets the cache configuration.
Declaration
CacheClientConfiguration GetConfiguration()
Returns
Type | Description |
---|---|
CacheClientConfiguration |
GetSize(CachePeekMode[])
Gets the number of all entries cached across all nodes.
NOTE: this operation is distributed and will query all participating nodes for their cache sizes.
Declaration
long GetSize(params CachePeekMode[] modes)
Parameters
Type | Name | Description |
---|---|---|
CachePeekMode[] | modes | Optional peek modes. If not provided, then total cache size is returned. |
Returns
Type | Description |
---|---|
System.Int64 | Cache size across all nodes. |
GetSizeAsync(CachePeekMode[])
Gets the number of all entries cached across all nodes.
NOTE: this operation is distributed and will query all participating nodes for their cache sizes.
Declaration
Task<long> GetSizeAsync(params CachePeekMode[] modes)
Parameters
Type | Name | Description |
---|---|---|
CachePeekMode[] | modes | Optional peek modes. If not provided, then total cache size is returned. |
Returns
Type | Description |
---|---|
Task<System.Int64> | Cache size across all nodes. |
Put(TK, TV)
Associates the specified value with the specified key in the cache.
If the cache previously contained a mapping for the key, the old value is replaced by the specified value.
Declaration
void Put(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key with which the specified value is to be associated. |
TV | val | Value to be associated with the specified key. |
PutAll(IEnumerable<KeyValuePair<TK, TV>>)
Stores given key-value pairs in cache.
Declaration
void PutAll(IEnumerable<KeyValuePair<TK, TV>> vals)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<KeyValuePair<TK, TV>> | vals | Key-value pairs to store in cache. |
PutAllAsync(IEnumerable<KeyValuePair<TK, TV>>)
Stores given key-value pairs in cache.
Declaration
Task PutAllAsync(IEnumerable<KeyValuePair<TK, TV>> vals)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<KeyValuePair<TK, TV>> | vals | Key-value pairs to store in cache. |
Returns
Type | Description |
---|---|
Task |
PutAsync(TK, TV)
Associates the specified value with the specified key in the cache.
If the cache previously contained a mapping for the key, the old value is replaced by the specified value.
Declaration
Task PutAsync(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key with which the specified value is to be associated. |
TV | val | Value to be associated with the specified key. |
Returns
Type | Description |
---|---|
Task |
PutIfAbsent(TK, TV)
Atomically associates the specified key with the given value if it is not already associated with a value.
Declaration
bool PutIfAbsent(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key with which the specified value is to be associated. |
TV | val | Value to be associated with the specified key. |
Returns
Type | Description |
---|---|
System.Boolean | True if a value was set. |
PutIfAbsentAsync(TK, TV)
Atomically associates the specified key with the given value if it is not already associated with a value.
Declaration
Task<bool> PutIfAbsentAsync(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key with which the specified value is to be associated. |
TV | val | Value to be associated with the specified key. |
Returns
Type | Description |
---|---|
Task<System.Boolean> | True if a value was set. |
Query(ScanQuery<TK, TV>)
Executes a Scan query.
Declaration
IQueryCursor<ICacheEntry<TK, TV>> Query(ScanQuery<TK, TV> scanQuery)
Parameters
Type | Name | Description |
---|---|---|
ScanQuery<TK, TV> | scanQuery | Scan query. |
Returns
Type | Description |
---|---|
IQueryCursor<ICacheEntry<TK, TV>> | Query cursor. |
Query(SqlFieldsQuery)
Executes an SQL Fields query.
Declaration
IFieldsQueryCursor Query(SqlFieldsQuery sqlFieldsQuery)
Parameters
Type | Name | Description |
---|---|---|
SqlFieldsQuery | sqlFieldsQuery | SQL query. |
Returns
Type | Description |
---|---|
IFieldsQueryCursor | Query cursor. |
Query(SqlQuery)
Executes an SQL query.
Declaration
IQueryCursor<ICacheEntry<TK, TV>> Query(SqlQuery sqlQuery)
Parameters
Type | Name | Description |
---|---|---|
SqlQuery | sqlQuery | SQL query. |
Returns
Type | Description |
---|---|
IQueryCursor<ICacheEntry<TK, TV>> | Query cursor. |
QueryContinuous(ContinuousQueryClient<TK, TV>)
Starts the continuous query execution.
Declaration
IContinuousQueryHandleClient QueryContinuous(ContinuousQueryClient<TK, TV> continuousQuery)
Parameters
Type | Name | Description |
---|---|---|
ContinuousQueryClient<TK, TV> | continuousQuery | Continuous query. |
Returns
Type | Description |
---|---|
IContinuousQueryHandleClient | Handle to stop the query execution. |
Remove(TK)
Removes given key mapping from cache, notifying listeners and cache writers.
Declaration
bool Remove(TK key)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key to remove. |
Returns
Type | Description |
---|---|
System.Boolean | True if entry was removed, false otherwise. |
Remove(TK, TV)
Removes given key mapping from cache if one exists and value is equal to the passed in value.
Declaration
bool Remove(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key whose mapping is to be removed from cache. |
TV | val | Value to match against currently cached value. |
Returns
Type | Description |
---|---|
System.Boolean | True if entry was removed, false otherwise. |
RemoveAll()
Removes all mappings from cache, notifying listeners and cache writers.
Declaration
void RemoveAll()
RemoveAll(IEnumerable<TK>)
Removes given key mappings from cache, notifying listeners and cache writers.
Declaration
void RemoveAll(IEnumerable<TK> keys)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<TK> | keys | Keys to be removed from cache. |
RemoveAllAsync()
Removes all mappings from cache, notifying listeners and cache writers.
Declaration
Task RemoveAllAsync()
Returns
Type | Description |
---|---|
Task |
RemoveAllAsync(IEnumerable<TK>)
Removes given key mappings from cache, notifying listeners and cache writers.
Declaration
Task RemoveAllAsync(IEnumerable<TK> keys)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<TK> | keys | Keys to be removed from cache. |
Returns
Type | Description |
---|---|
Task |
RemoveAsync(TK)
Removes given key mapping from cache, notifying listeners and cache writers.
Declaration
Task<bool> RemoveAsync(TK key)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key to remove. |
Returns
Type | Description |
---|---|
Task<System.Boolean> | True if entry was removed, false otherwise. |
RemoveAsync(TK, TV)
Removes given key mapping from cache if one exists and value is equal to the passed in value.
Declaration
Task<bool> RemoveAsync(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key whose mapping is to be removed from cache. |
TV | val | Value to match against currently cached value. |
Returns
Type | Description |
---|---|
Task<System.Boolean> | True if entry was removed, false otherwise. |
Replace(TK, TV)
Stores given key-value pair in cache only if there is a previous mapping for it.
Declaration
bool Replace(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key to store in cache. |
TV | val | Value to be associated with the given key. |
Returns
Type | Description |
---|---|
System.Boolean | True if the value was replaced. |
Replace(TK, TV, TV)
Stores given key-value pair in cache only if only if the previous value is equal to the old value passed as argument.
Declaration
bool Replace(TK key, TV oldVal, TV newVal)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key to store in cache. |
TV | oldVal | Old value to match. |
TV | newVal | Value to be associated with the given key. |
Returns
Type | Description |
---|---|
System.Boolean | True if replace happened, false otherwise. |
ReplaceAsync(TK, TV)
Stores given key-value pair in cache only if there is a previous mapping for it.
Declaration
Task<bool> ReplaceAsync(TK key, TV val)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key to store in cache. |
TV | val | Value to be associated with the given key. |
Returns
Type | Description |
---|---|
Task<System.Boolean> | True if the value was replaced. |
ReplaceAsync(TK, TV, TV)
Stores given key-value pair in cache only if only if the previous value is equal to the old value passed as argument.
Declaration
Task<bool> ReplaceAsync(TK key, TV oldVal, TV newVal)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key to store in cache. |
TV | oldVal | Old value to match. |
TV | newVal | Value to be associated with the given key. |
Returns
Type | Description |
---|---|
Task<System.Boolean> | True if replace happened, false otherwise. |
TryGet(TK, out TV)
Retrieves value mapped to the specified key from cache.
Declaration
bool TryGet(TK key, out TV value)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key. |
TV | value | When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized. |
Returns
Type | Description |
---|---|
System.Boolean | true if the cache contains an element with the specified key; otherwise, false. |
TryGetAsync(TK)
Retrieves value mapped to the specified key from cache.
Declaration
Task<CacheResult<TV>> TryGetAsync(TK key)
Parameters
Type | Name | Description |
---|---|---|
TK | key | Key. |
Returns
Type | Description |
---|---|
Task<CacheResult<TV>> | CacheResult<T> containing a bool success flag and a value. |
WithExpiryPolicy(IExpiryPolicy)
Returns cache with the specified expired policy set. This policy will be used for each operation invoked on the returned cache.
Unlike the WithExpiryPolicy(IExpiryPolicy) method, expiry durations are retrieved from specified IExpiryPolicy on every key-value API operation.
Declaration
ICacheClient<TK, TV> WithExpiryPolicy(IExpiryPolicy plc)
Parameters
Type | Name | Description |
---|---|---|
IExpiryPolicy | plc | Expiry policy to use. |
Returns
Type | Description |
---|---|
ICacheClient<TK, TV> | Cache instance with the specified expiry policy set. |
WithKeepBinary<TK1, TV1>()
Gets cache with KeepBinary mode enabled, changing key and/or value types if necessary.
You can only change key/value types when transitioning from non-binary to binary cache;
Changing type of binary cache is not allowed and will throw an
Declaration
ICacheClient<TK1, TV1> WithKeepBinary<TK1, TV1>()
Returns
Type | Description |
---|---|
ICacheClient<TK1, TV1> | Cache instance with binary mode enabled. |
Type Parameters
Name | Description |
---|---|
TK1 | Key type in binary mode. |
TV1 | Value type in binary mode. |