implement Least Recently Used (LRU) cache.