A contract that defines a semi-persistent mapping of keys and values.
Cache entries are manually added using put(K, V),
and are stored in the cache until either evicted or manually removed.
After storing a value, it can be accessed using get(K).
Returns a current snapshot of this cache's cumulative statistics, or a set of default values if
the cache is not recording statistics. All statistics begin at zero and never decrease over the
lifetime of the cache.