1. A method for caching data, comprising: inserting a first set of data into a cache of a first entity, said first set of data including at least a subset of a second set of data maintained by a different entity; receiving, from a client device, a current request to read at least a portion of said second set of data; receiving, from the client device, identification information identifying a previous request for said at least a subset of said second set of data, wherein said identification information identifying said previous request is received with said current request; in response to determining whether said previous request was received by said first entity based on said received identification information identifying said previous request, determining said first set of data in said cache to be valid; in response to determining that said previous request was not received by said first entity, causing said first set of data in said cache to be invalid; in response to said first set of data in said cache being valid, responding to said current request based on at least a subset of said first set of data in said cache that corresponds to said current request; and in response to said current request seeking information that does not correspond to valid data in said cache, obtaining at least a portion of said second set of data from said different entity and responding to said current request based on said obtained portion of said second set of data.