Eviction Strategies

  1. Least Recently Used
  2. Least Frequently Used
  3. Most Recently Used
  4. Random
  5. Time to Live

Use Cases

Invalidation StrategyUse CaseAdditional Notes
LRUPredictable usage patterns; expect users to frequent same dataMost popular
LFUPredictable usage patterns; some data is more regularly accessed that others
MRUData becomes stale quickly
RRNo distillable usage patterns; data changes quickly such that caching is less valuable
TTLTime sensitive nature of data’s staleness

Best Practices

  1. Set an optimal size limit for cache
  2. Monitor; cache hit/miss ratio
  3. Tune eviction strategies

Invalidation Strategies

  1. Write requests invalidate data
  2. Event-driven; based on user, domain or system actions
  3. Manual control