Hazelcast C++ Client
Hazelcast C++ Client Library
hazelcast::client::config::near_cache_config Class Reference

Contains the configuration for a Near Cache. More...

#include <near_cache_config.h>

Public Types

enum  local_update_policy { INVALIDATE , CACHE }
 Local Update Policy enum. More...
 

Public Member Functions

 near_cache_config (const std::string &cache_name)
 
 near_cache_config (const std::string &cache_name, in_memory_format memory_format)
 
 near_cache_config (int32_t time_to_live_seconds, int32_t max_idle_seconds, bool invalidate_on_change, in_memory_format in_memory_format, const eviction_config &evict_config)
 
const std::string & get_name () const
 Gets the name of the Near Cache. More...
 
near_cache_configset_name (const std::string &name)
 Sets the name of the Near Cache. More...
 
int32_t get_time_to_live_seconds () const
 Gets the maximum number of seconds for each entry to stay in the Near Cache. More...
 
near_cache_configset_time_to_live_seconds (int32_t time_to_live_seconds)
 Sets the maximum number of seconds for each entry to stay in the Near Cache. More...
 
int32_t get_max_idle_seconds () const
 Maximum number of seconds each entry can stay in the Near Cache as untouched (not-read). More...
 
near_cache_configset_max_idle_seconds (int32_t max_idle_seconds)
 Maximum number of seconds each entry can stay in the Near Cache as untouched (not-read). More...
 
bool is_invalidate_on_change () const
 True to evict the cached entries if the entries are changed (updated or removed). More...
 
near_cache_configset_invalidate_on_change (bool invalidate_on_change)
 True to evict the cached entries if the entries are changed (updated or removed). More...
 
const in_memory_format & get_in_memory_format () const
 Gets the data type used to store entries. More...
 
virtual near_cache_configset_in_memory_format (const in_memory_format &in_memory_format)
 Sets the data type used to store entries. More...
 
bool is_cache_local_entries () const
 If true, cache local entries also. More...
 
near_cache_configset_cache_local_entries (bool cache_local_entries)
 True to cache local entries also. More...
 
const local_update_policyget_local_update_policy () const
 
near_cache_configset_local_update_policy (const local_update_policy &local_update_policy)
 
eviction_configget_eviction_config ()
 The eviction configuration. More...
 
near_cache_configset_eviction_config (const eviction_config &eviction_config)
 Sets the eviction configuration. More...
 

Static Public Attributes

static constexpr int32_t DEFAULT_TTL_SECONDS = 0
 Default value of the time to live in seconds.
 
static constexpr int32_t DEFAULT_MAX_IDLE_SECONDS = 0
 Default value of the idle time for eviction in seconds.
 
static constexpr in_memory_format DEFAULT_MEMORY_FORMAT = in_memory_format::BINARY
 Default value for the in-memory format.
 

Friends

std::ostream HAZELCAST_API & operator<< (std::ostream &out, const near_cache_config &cache_config)
 

Detailed Description

Contains the configuration for a Near Cache.

@BinaryInterface

Definition at line 33 of file near_cache_config.h.

Member Enumeration Documentation

◆ local_update_policy

Local Update Policy enum.

Enumerator
INVALIDATE 

INVALIDATE POLICY.

CACHE 

CACHE ON UPDATE POLICY.

Definition at line 53 of file near_cache_config.h.

53  {
57  INVALIDATE,
58 
62  CACHE
63  };

Member Function Documentation

◆ get_eviction_config()

eviction_config & hazelcast::client::config::near_cache_config::get_eviction_config ( )

The eviction configuration.

Returns
The eviction configuration.

Definition at line 734 of file config.cpp.

734  {
735  return eviction_config_;
736  }

◆ get_in_memory_format()

const in_memory_format & hazelcast::client::config::near_cache_config::get_in_memory_format ( ) const

Gets the data type used to store entries.

Possible values: BINARY (default): keys and values are stored as binary data. OBJECT: values are stored in their object forms.

Returns
The data type used to store entries.

Definition at line 707 of file config.cpp.

707  {
708  return in_memory_format_;
709  }

◆ get_max_idle_seconds()

int32_t hazelcast::client::config::near_cache_config::get_max_idle_seconds ( ) const

Maximum number of seconds each entry can stay in the Near Cache as untouched (not-read).

Entries that are not read (touched) more than max-idle-seconds value will get removed from the Near Cache.

Returns
Maximum number of seconds each entry can stay in the Near Cache as untouched (not-read).

Definition at line 688 of file config.cpp.

688  {
689  return max_idle_seconds_;
690  }

◆ get_name()

const std::string & hazelcast::client::config::near_cache_config::get_name ( ) const

Gets the name of the Near Cache.

Returns
The name of the Near Cache.

Definition at line 669 of file config.cpp.

669  {
670  return name_;
671  }

◆ get_time_to_live_seconds()

int32_t hazelcast::client::config::near_cache_config::get_time_to_live_seconds ( ) const

Gets the maximum number of seconds for each entry to stay in the Near Cache.

Entries that are older than time-to-live-seconds will get automatically evicted from the Near Cache.

Returns
The maximum number of seconds for each entry to stay in the Near Cache.

Definition at line 678 of file config.cpp.

678  {
679  return time_to_live_seconds_;
680  }

◆ is_cache_local_entries()

bool hazelcast::client::config::near_cache_config::is_cache_local_entries ( ) const

If true, cache local entries also.

This is useful when in-memory-format for Near Cache is different than the map's one.

Returns
True if local entries are cached also.

Definition at line 716 of file config.cpp.

716  {
717  return cache_local_entries_;
718  }

◆ is_invalidate_on_change()

bool hazelcast::client::config::near_cache_config::is_invalidate_on_change ( ) const

True to evict the cached entries if the entries are changed (updated or removed).

When true, the member listens for cluster-wide changes on the entries and invalidates them on change. Changes done on the local member always invalidate the cache.

Returns
This Near Cache config instance.

Definition at line 698 of file config.cpp.

698  {
699  return invalidate_on_change_;
700  }

◆ set_cache_local_entries()

near_cache_config & hazelcast::client::config::near_cache_config::set_cache_local_entries ( bool  cache_local_entries)

True to cache local entries also.

This is useful when in-memory-format for Near Cache is different than the map's one.

Parameters
cacheLocalEntriesTrue to cache local entries also.
Returns
This Near Cache config instance.

Definition at line 720 of file config.cpp.

720  {
721  this->cache_local_entries_ = cache_local_entries;
722  return *this;
723  }

◆ set_eviction_config()

near_cache_config & hazelcast::client::config::near_cache_config::set_eviction_config ( const eviction_config eviction_config)

Sets the eviction configuration.

Parameters
evictionConfigThe eviction configuration.
Returns
This Near Cache config instance.

Definition at line 738 of file config.cpp.

738  {
739  this->eviction_config_ = eviction_config;
740  return *this;
741  }

◆ set_in_memory_format()

near_cache_config & hazelcast::client::config::near_cache_config::set_in_memory_format ( const in_memory_format &  in_memory_format)
virtual

Sets the data type used to store entries.

Possible values: BINARY (default): keys and values are stored as binary data. OBJECT: values are stored in their object forms.

Parameters
inMemoryFormatThe data type used to store entries.
Returns
This Near Cache config instance.

Definition at line 711 of file config.cpp.

711  {
712  this->in_memory_format_ = in_memory_format;
713  return *this;
714  }

◆ set_invalidate_on_change()

near_cache_config & hazelcast::client::config::near_cache_config::set_invalidate_on_change ( bool  invalidate_on_change)

True to evict the cached entries if the entries are changed (updated or removed).

If set to true, the member will listen for cluster-wide changes on the entries and invalidate them on change. Changes done on the local member always invalidate the cache.

Parameters
invalidateOnChangeTrue to evict the cached entries if the entries are changed (updated or removed), false otherwise.
Returns
This Near Cache config instance.

Definition at line 702 of file config.cpp.

702  {
703  this->invalidate_on_change_ = invalidate_on_change;
704  return *this;
705  }

◆ set_max_idle_seconds()

near_cache_config & hazelcast::client::config::near_cache_config::set_max_idle_seconds ( int32_t  max_idle_seconds)

Maximum number of seconds each entry can stay in the Near Cache as untouched (not-read).

Entries that are not read (touched) more than max-idle-seconds value will get removed from the Near Cache. Any integer between 0 and Integer.MAX_VALUE. 0 means INT32_MAX. Default is 0.

Parameters
maxIdleSecondsMaximum number of seconds each entry can stay in the Near Cache as untouched (not-read).
Returns
This Near Cache config instance.

Definition at line 692 of file config.cpp.

692  {
693  this->max_idle_seconds_ = util::Preconditions::check_not_negative(max_idle_seconds,
694  "Max-Idle seconds cannot be negative!");
695  return *this;
696  }

◆ set_name()

near_cache_config & hazelcast::client::config::near_cache_config::set_name ( const std::string &  name)

Sets the name of the Near Cache.

Parameters
nameThe name of the Near Cache.
Returns
This Near Cache config instance.

Definition at line 673 of file config.cpp.

673  {
674  this->name_ = name;
675  return *this;
676  }

◆ set_time_to_live_seconds()

near_cache_config & hazelcast::client::config::near_cache_config::set_time_to_live_seconds ( int32_t  time_to_live_seconds)

Sets the maximum number of seconds for each entry to stay in the Near Cache.

Entries that are older than time-to-live-seconds will get automatically evicted from the Near Cache. Any integer between 0 and INT32_MAX. 0 means infinite. Default is 0.

Parameters
timeToLiveSecondsThe maximum number of seconds for each entry to stay in the Near Cache.
Returns
This Near Cache config instance.

Definition at line 682 of file config.cpp.

682  {
683  this->time_to_live_seconds_ = util::Preconditions::check_not_negative(time_to_live_seconds,
684  "TTL seconds cannot be negative!");
685  return *this;
686  }

The documentation for this class was generated from the following files: