A Least Frequently Used cache.
When the cache needs to drop a value to stay within its bounds, it chooses the value that has the lowest access count.
Get the current size of the cache.
Get the value associated with the given key, if it exists in the cache.
Test if the cache contains a given key.
This does not count as an access towards cache invalidation.
Add a key/value pair to the cache.
A Least Frequently Used cache.
When the cache needs to drop a value to stay within its bounds, it chooses the value that has the lowest access count.