Assembly: GemStone.GemFire.Cache (in GemStone.GemFire.Cache.dll)
Version: 2.5.0.1
Syntax
| C# |
|---|
public IGFSerializable Get( ICacheableKey key ) |
| Visual Basic (Declaration) |
|---|
Public Function Get ( _ key As ICacheableKey _ ) As IGFSerializable |
| Visual C++ |
|---|
public: IGFSerializable^ Get ( ICacheableKey^ key ) |
Parameters
- key
- ICacheableKey
key whose associated value is to be returned -- the key object must implement the equals and hashcode methods.
Return Value
value, or null if the value is not found and can't be loaded
Remarks
@cacheserver If the value is not present locally for this entry, a netSearch and/or a CacheLoader may be invoked to get the value, depending on the scope of this region. A netSearch looks for a value in every node of the system that defines this region. A netLoad invokes remote loaders one at a time until one returns a value or throws an exception. @endcacheserver @nativeclient If the value is not present locally for this entry, then it is requested from the java server. If even that is unsuccessful then a local CacheLoader will be invoked if there is one. @endnativeclient If any of these methods successfully retrieves a value, then the value is immediately returned.
@cacheserverFor local scope, a local CacheLoader will be invoked if there is one. For any distributed scope, the order is localLoad, netSearch, netLoad.
@endcacheservernetSearch and netLoad are never performed more than once. If a loader attempts a second netSearch, it will not be done.
The value returned by get is not copied, so multi-threaded applications should not modify the value directly, but should use the update methods.
Updates the LastAccessedTime, and LastModifiedTime (if a new value is loaded) for this region and the entry.
If an ICacheWriter throws a CacheWriterException when a new value is retrieved from a loader, then the value will not be put into the cache (a new entry will not be created) but the get will return the value and not propagate the exception.
Exceptions
| Exception | Condition |
|---|---|
| GemStone.GemFire.Cache..::IllegalArgumentException | if key is null |
| GemStone.GemFire.Cache..::CacheServerException | If an exception is received from the Java cache server. Only for Native Client regions. |
| GemStone.GemFire.Cache..::NotConnectedException | if not connected to the GemFire system because the client cannot establish usable connections to any of the servers given to it. |
| GemStone.GemFire.Cache..::MessageException | If the message received from server could not be handled. This will be the case when an unregistered typeId is received in the reply or reply is not well formed. More information can be found in the log. |
| GemStone.GemFire.Cache..::TimeoutException | if the operation timed out |
| GemStone.GemFire.Cache..::RegionDestroyedException | if this region has been destroyed |