1. A computer implemented method of managing a cache using hash function, the method comprising: using a first hash function to access a plurality of entries in a cache; analyzing a performance attribute of the first hash function as the plurality of entries are accessed in the cache; automatically selecting a second hash function based upon the analysis of the performance attribute; invalidating the plurality of entries associated with the first hash function; and initiating a flushing algorithm configured to flush the plurality of entries associated with the first hash function while using the second hash function to access the cache.