A LRU cache is a special kind of cache that defines the way of evicting item from the cache when it is full. Its policy is to evict the least recently used item. 

For example, 
  - a cache having capacity of 4 and is currently storing 
    `[[1, '101'], [2, '102'], [3, '103'], [4, '104']]`, 
    - where the 1st (leftmost) item [1, '101'] is the least recently used and 
    - the last (rightmost) item [4, '104'] is the most recently used. 
    - When the item [2, '102'] is accessed, 
      - the cache becomes [[1, '101'], [3, '103'], [4, '104'], [2, '102']] as the item [2, '102'] becomes the most recently used. 
    - When another item [10, '110'] is pushed into the cache, 
      - the cache cannot hold all of the items and 
      - must evict the least recently used item which is [1, '101'] and 
      - the cache becomes [[3, '103'], [4, '104'], [2, '102'], [10, '110']].