Cache Loaders

Loaders provide an optional mechanism for loading data into the cache from a backend datastore, such as a relational database. Users can implement and associate Cache Loaders with a region of the cache. These Cache Loaders can be installed locally on the client (Driver or Engine) or globally, in the GridServer Broker.

Global

Use a Global Cache Loader for synchronized regions from which all clients can access data.

Global loaders are defined and configured in the schemas.
When other clients get access to that region, they automatically are using that loader.
A client can specifically pre-load data into the cache by explicitly calling the load method with a single key or a list of keys.
If a get does not find data, the loader then attempts to load for that key by calling the loader’s load method.
Puts are not allowed on regions with loaders.
Global loaders are written in Java, but can be bridged to native or .NET code through JNI.
Global CacheLoader JAR files are deployed to the lib directory in the cache directory. By default, the cache directory is DS_DATA/cache. Configure the cache directory in the Cache section of the Manager Configuration page in the Administration Tool.

Local

Use a local loader to cache data locally from an external database. Clients do not share local loaders.

Puts (writes) are not allowed, as it is a local cache, and data is not propagated to other clients or regions.
Removing an item is not allowed. Instead, invalidate the item. Invalidating causes the item to be removed from other clients' caches.
Local loaders can only be .NET or Java. You can adapt CPP loaders through JNI or managed C++.