1. A computer implemented method of managing a cache using hash function, the method comprising: using a first hash function to access an entry in a cache; analyzing a performance attribute of the first hash function; automatically selecting a second hash function based upon the analysis of the performance attribute; and using the second hash function to access the cache.