1. A method for storing key-value pairs, the method comprising: on a node on which a first client and a second client reside, exposing a repository interface through which the first and second clients make calls to store and access key-value pair information in a repository; receiving a first call from the first client through a routine that implements a portion of said repository interface; and based on said first call, establishing a first component that is associated with said first client but not said second client as a sole caching component responsible for managing a cache for said repository on said node; receiving, at a second component that is associated with said second client but not said first client, a second call from the second client; determining whether said second component is the caching component for said node; and in response to determining that said second component is not said caching component for said node, passing said second call to said caching component for processing by said caching component.