Creates a new LRU (least recently used) cache of the given capacity: whenever a new key-value pair would exceed capacity, the least recently inserted pair is evicted to make room for it.
if capacity is not strictly positive