1. A storage system, comprising: a content-addressable storage system and a persistent cache, wherein the persistent cache comprises: a non-volatile memory; a temporary address generator configured to generate a temporary address which is associated with data to be stored in the persistent cache in response to a write request from an application; a non-content-addressable storage system configured to store and retrieve data in the persistent cache using the temporary address; a cache manager configured to forward a write acknowledgment comprising the temporary address to the application and write the data that was stored in the non-content-addressable storage system to the content-addressable storage system; and an address translator configured to map a temporary address associated with the data in the non-content addressable storage system with a content address associated with the data in the content-addressable storage system; wherein the application initially request the data using the temporary address and subsequently requests the data using the content address, and wherein the cache manager issues a read request to either the non-content-addressable storage system or the content-addressable storage system depending upon whether an address received from the application is determined to be the temporary address or the content address based on a bit in the address.