Replacement Policy (Eviction Policy)

Quick Reference: Cache | Write Policy


Quick Reference

PolicyEvictsUse CaseImplementation
LRULeast recently usedGeneral purposeLinked list + hash map
LFULeast frequently usedAccess frequency mattersFrequency counter
FIFOFirst in, first outSimple, time-basedQueue
RandomRandomSimpleRandom selection

Clear Definition

Replacement Policy (eviction policy) determines which cached items to remove when the cache is full. The policy aims to maximize cache hit rate by keeping the most useful data.

šŸ’” Key Insight: LRU is most common. Choose policy based on access patterns.


Core Concepts

LRU (Least Recently Used)

How it Works: Evict items not accessed recently.

Pros: Good for temporal locality
Cons: Doesn't consider frequency

Implementation: Doubly linked list + hash map

LFU (Least Frequently Used)

How it Works: Evict items accessed least frequently.

Pros: Good for frequency-based access
Cons: Doesn't adapt to changing patterns

Implementation: Frequency counter per item

FIFO (First In First Out)

How it Works: Evict oldest items.

Pros: Simple
Cons: Doesn't consider usefulness

Implementation: Queue


Best Practices

  1. Use LRU: Default choice for most cases
  2. Monitor Hit Rate: Track cache effectiveness
  3. Tune Policy: Adjust based on access patterns

Quick Reference Summary

LRU: Evict least recently used. Most common, good general purpose.

LFU: Evict least frequently used. Good when frequency matters.

FIFO: Evict oldest. Simple but less effective.


Previous Topic: Write Policy ←

Next Topic: CDN →

Back to: Step 4 Overview | Main Index