1. A method, comprising: using an assigned value from a catalog to determine which slot to evict from a set in a cache, the assigned value is an integer; evaluating a slot from the set in the cache using an intelligent content aware caching application running on a virtual machine (VM) hypervisor, the intelligent content aware caching application configured to read contents of the catalog to determine whether or not to evict the slot being evaluated; determining when metadata for the slot being evaluated has an assigned value of three and foregoing eviction of the slot being evaluated when its metadata has the assigned value of three; (a) evaluating all slots in the set having an assigned value of zero and evicting a slot having an oldest time stamp and having the assigned value of zero in its metadata; (b) evaluating all slots in the set having an assigned value of two and evicting a slot having an oldest time stamp and having the assigned value of two in its metadata; (c) evaluating all slots in the set having an assigned value of one and evicting a slot having an oldest time stamp and having the assigned value of one in its metadata; and evaluating slots in a second set in the cache after at least one slot in the set that was found to have an assigned value of zero, two, or one in its metadata has been evicted, or when no slots in the set were found that have assigned values of zero, two, or one in their metadata.