1. A computer-implemented method for implementing a distributed cache, the method comprising executing instructions in a computer system to perform the operations of: receiving a request from a cache client for a requested value associated with a cache key; in response to receiving the request, searching for the requested value in the distributed cache; in response to determining that the requested value is not stored in the cache: determining a quantity of cache clients that are currently fetching the requested value, determining that the quantity of cache clients that are currently fetching the requested value meets or exceeds a predefined threshold number, determining, based at least in part on the quantity of cache clients that are currently fetching the requested value meeting or exceeding the predefined threshold number, that the cache client is permitted to wait for the requested value, and providing, to the cache client, an indication in response to the request that the cache client is permitted to wait for the requested value to become available in the distributed cache.