Replacement Policy (Eviction Policy)
Quick Reference: Cache | Write Policy
Quick Reference
| Policy | Evicts | Use Case | Implementation |
|---|---|---|---|
| LRU | Least recently used | General purpose | Linked list + hash map |
| LFU | Least frequently used | Access frequency matters | Frequency counter |
| FIFO | First in, first out | Simple, time-based | Queue |
| Random | Random | Simple | Random 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
- Use LRU: Default choice for most cases
- Monitor Hit Rate: Track cache effectiveness
- 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