Accessing Entries
Use the API to retrieve the entry key, entry value, and the RegionEntry
object itself. A variety of functions provide information for individual entries and for the set of all entries resident in the region.
A region’s entry keys and RegionEntry
objects are directly available from the local cache. Applications can directly access the local cache’s stored entry value through the RegionEntry::getValue
function. The getValue
function either returns the value if a valid value is present in the local cache, or NULL
if the value is not valid locally. This function does no data loading, nor does it look elsewhere in the distributed system for a valid value.
Note: Direct access through RegionEntry::getValue
does not reset an entry’s timestamp for LRU expiration. See Specifying Expiration Attributes for more information about LRU expiration.
In comparison, the Region::get
functions consider all caches and all applicable loaders in the distributed system in an attempt to return a valid entry value to the calling application. The primary attribute setting affecting entry retrieval is CacheLoader
. See Specifying Application Plug-In Attributes.
The Region::get
functions may implement more than one operation in order to retrieve a valid entry value. The operations used depend on the region’s attribute settings and on the state of the entry itself. By default, the client retrieves entry values through calls to the get
function. The client can override this behavior for any region by defining a cache loader for the region.
The following sections discuss the get
function and special considerations for entry retrieval.
Entry Retrieval
Retrieve entry values with the Region::get
function.
When an entry value is requested from a region, it is either retrieved from the cache server or fetched by the region’s locally-defined cache loader in this sequence:
- local cache search
- server cache
- local load (For distributed regions, the local load is fetched before remote cache values)
How the get Operation Affects the Local Entry Value
If a get
operation retrieves an entry value from outside the local cache through a local load, it automatically put
s the value into the cache for future reference.
Note that these load operations do not invoke a cache writer. Because the loader and writer operate against the same data source, you do not need to perform a cache write for entries that were just fetched from that data source. For descriptions of these processes, see the Overview of Application Plug-Ins.
Note: Access through a get
operation resets an entry’s timestamp for LRU expiration.
Getting Multiple Entries Using getAll
You can use the getAll
Region function to get all values for an array of keys from the local cache or cache server. Subsection Bulk Put Operations Using putAll has more information.