ARC dynamically balances between recency (LRU) and frequency (LFU). It adapts to your workload automatically.
How it works:
Maintains LRU lists: one for recently accessed, one for frequently accessed. A tuning parameter shifts between them based on hit patterns.
Benefits:
- Scan-resistant (one-time reads do not pollute cache)
- Self-tuning (no manual configuration)
- Production results: % hit ratio in some deployments
The trade-off is higher memory overhead for tracking both lists.