The Why

The Purpose

Every system that uses a cache has to make the same decision over and over when space runs out, what stays and what gets removed. Get it right and the system runs smoothly. Get it wrong, the system keeps fetching data it didn't need to which slows everything down.
This project exists to make that decision more reliable especially for the data that's hardest to judge.

Why It's Needed

Older policies like LRU and LFU work fine when usage patterns are simple and predictable. But real systems are messier. Some data is used in ways that contradict each other, like an old file that suddenly gets popular again. Other data is used so unpredictably that no simple rule can judge it well.
These are exactly the cases where older policies fall short, because they were never designed to handle uncertainty or contradiction in the first place.

The Impact

When a cache makes the wrong call, the cost shows up as extra work the system has to go fetch data from the primary data store. Every one of those unnecessary fetches adds delay and uses more resources. By making retention decisions more correct, especially in the confusing cases.
This project's goal is to reduce that wasted back-and-forth between the cache and primary data store, so that the cache's overall efficiency remains high.

NEXT

pointing arrow