1. A computer-implemented method for indexing content stored in a cache memory device, the method comprising: maintaining a fingerprint index having a plurality of fingerprint entries, each mapping a fingerprint to a storage location of a cache memory device that caches a data block represented by the fingerprint, wherein the fingerprint is generated by hashing at least a portion of content of the data block, wherein the cache memory device caches some of data blocks stored in a persistent storage device of a storage system, wherein the fingerprint index is a partial index indexing a portion of data stored in the cache memory device; in response to receiving a request to insert a new fingerprint of a first data block cached in a first storage location of the cache memory device, evicting one of the fingerprint entries according to a predetermined eviction algorithm, when a number of fingerprint entries in the fingerprint index reaches a predetermined threshold; and inserting the new fingerprint into the evicted fingerprint entry to map the new fingerprint to the first storage location of the cache memory device, wherein a data object associated with the new fingerprint to be inserted is part of a snapshot of files or a virtual machine disk.