Design cache with least-recently-used eviction | Microsoft