Implement an LRU cache.