1. A method, including: receiving a request, from an application, to create to a custom application-defined cache; acquiring configuration information, from the application, the configuration information includes a key manager having one or more key definitions; loading portions of data, when not present in a global cache, and loading into the global cache using each of the key definitions for each portion of the loaded data, the global cache is immutable and refreshed at intervals based on configuration policies; returning, to the application, a reference to the custom application-defined cache; and maintaining a plurality of additional custom application-defined caches for additional applications, each additional application is supplied an additional reference to its particular custom application-defined cache, the custom application-defined cache and the additional custom application defined caches are accessed only by specific threads.