A cache admission policy is a rule or algorithm that decides whether a newly fetched or computed data item should be inserted into the cache. It acts as a gatekeeper, working in conjunction with an eviction policy to optimize the cache's utility and hit ratio. The policy evaluates criteria like the item's size, access cost, predicted future use, or current cache state to make this determination, preventing low-value or oversized items from polluting the limited cache space.
Glossary
Cache Admission Policy

What is a Cache Admission Policy?
A rule-based mechanism that determines whether a newly fetched or computed data item should be stored in a cache.
Common admission policies include size-based admission, which blocks items exceeding a threshold, and cost-aware admission, which prioritizes items that are expensive to compute or fetch. In agent-side caching, these policies are critical for managing session memory and reducing redundant API calls. By selectively admitting only high-utility results, the policy ensures the cache stores data that maximizes performance gains and minimizes latency for the autonomous agent's operations.
Key Characteristics of Cache Admission Policies
A cache admission policy is a rule that determines whether a newly fetched or computed data item should be inserted into the cache, often used alongside eviction policies to optimize cache utility. These policies act as a gatekeeper, deciding which data is valuable enough to occupy limited cache space.
Gatekeeper vs. Eviction
A cache admission policy is fundamentally a gatekeeper, deciding whether to admit a new item. This is distinct from an eviction policy, which decides which existing item to remove when the cache is full. They work in tandem: admission controls inflow, eviction controls outflow. For optimal performance, a system might use a Frequency-Based Admission policy (like 2Q or TinyLFU) to only admit items predicted to be accessed again, while using LRU for eviction.
Frequency-Based Admission
These policies admit items based on predicted future access frequency, not just recency. A common implementation is the TinyLFU sketch, which uses a compact probabilistic structure to track access counts.
- Mechanism: A new item is only admitted if its estimated frequency is higher than the item the eviction policy would remove (e.g., the LRU victim).
- Benefit: Prevents one-hit wonders—items accessed only once—from polluting the cache and evicting potentially valuable data.
- Use Case: Highly effective for workloads with a mix of popular and tail items, common in web object and database query caching.
Size-Aware Admission
This characteristic considers the size of the candidate item relative to the benefit of caching it. The core principle is that caching a very large item has a high opportunity cost, as it displaces many smaller, potentially more frequently accessed items.
- Simple Rule: Do not admit items larger than a certain percentage of the total cache capacity.
- Advanced Rule: Use a cost-benefit model, such as size / access frequency. A large, rarely accessed file would be rejected.
- Impact: Crucial for caches storing variable-sized objects (e.g., images, API responses, model outputs) to maximize the aggregate hit ratio and utility per byte.
Deterministic Admission
A strict policy that only admits the results of pure, deterministic functions. A cache hit is guaranteed to be valid if the function inputs are identical.
- Key Property: The function must have no side effects and its output must depend solely on its input arguments.
- Implementation: The cache key is a hash of the function signature and its serialized arguments.
- Use Case: Ideal for agent-side caching of computational results, such as:
- Mathematical transformations.
- Semantic cache lookups where the same query intent yields the same LLM inference.
- Processing steps within a deterministic agent workflow.
Cost-Aware Admission
This policy incorporates the cost of a cache miss into the admission decision. The goal is to prioritize caching items that are expensive to recompute or fetch.
- Cost Factors: Can include latency, financial API call costs, computational load, or load on a backend system.
- Logic: An item with a high retrieval cost and moderate access frequency may be admitted over a low-cost, high-frequency item.
- Example: In an AI agent, the result of a slow, paid external API call is a prime candidate for admission, even if it will only be reused a few times, because the cost of a miss is high.
Admission in Multi-Tier Caches
In a hierarchical cache (e.g., L1/L2), admission policies can differ per tier to optimize the overall memory hierarchy.
- L1 Cache (Small/Fast): May have a very selective policy (e.g., Frequency-Based), admitting only the "hottest" items to keep its limited space maximally effective.
- L2 Cache (Large/Slower): May use a more permissive admission policy, acting as a victim cache for L1 evictions or admitting items with longer-term value.
- Orchestration: A miss in L1 that is fetched from the primary source might be admitted to L2 but not necessarily back into L1, depending on the tier-specific policy. This structure is common in CPU architectures and can be applied to distributed cache systems.
Frequently Asked Questions
A cache admission policy is a critical rule that determines whether a newly fetched or computed data item should be inserted into the cache. It works alongside eviction policies to optimize cache utility and performance.
A cache admission policy is a rule-based algorithm that determines whether a newly fetched or computed data item should be inserted into the cache upon a cache miss. Its primary function is to act as a gatekeeper, preventing low-value or one-off items from polluting the cache and displacing more useful entries. This decision is made independently of, and often prior to, the cache eviction policy, which selects which item to remove when the cache is full. By filtering what gets cached, an admission policy directly optimizes the cache hit ratio and the effective utilization of limited cache memory.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
These terms define the core mechanisms and policies that work alongside a cache admission policy to manage temporary storage within an AI agent's session.
Cache Eviction Policy
A cache eviction policy is the algorithm that determines which item to remove from a full cache to make space for a new entry. It works in tandem with the admission policy to manage cache capacity. Common algorithms include:
- LRU (Least Recently Used): Evicts the item accessed longest ago.
- LFU (Least Frequently Used): Evicts the item with the fewest accesses.
- FIFO (First-In, First-Out): Evicts the oldest item by insertion time. The choice of eviction policy directly impacts the cache's hit ratio and overall performance.
Cache Hit Ratio
The cache hit ratio is the primary metric for cache performance, calculated as (Number of Cache Hits / Total Requests) * 100%. A high ratio indicates the cache is effectively storing useful data, reducing calls to slower primary sources like APIs or databases. This metric is influenced by both the admission policy (what gets in) and the eviction policy (what stays in). Performance engineers optimize these policies to maximize this ratio for a given cache size.
Semantic Cache
A semantic cache stores computed results (like LLM responses or API call outputs) based on the meaning or intent of a query, rather than an exact string match of the request. This allows for cache hits on semantically similar but not identical requests. For example, queries for "capital of France" and "what is the main city in France?" could yield a cache hit. Admission policies for semantic caches are complex, as they must evaluate the semantic similarity of a new query to existing cached entries.
Deterministic Cache
A deterministic cache stores the results of pure, side-effect-free functions or API calls where the same input arguments always produce an identical output. This guarantees that a cached result remains valid for future identical requests. Admission for a deterministic cache is straightforward: if the computation is pure and the inputs match, the result is cacheable. This is foundational for caching within AI agent tool-calling, where repeated calls with the same parameters should yield the same result.
Cache Invalidation
Cache invalidation is the process of marking cached data as stale or removing it entirely to ensure subsequent requests fetch fresh data from the primary source. It is critical for maintaining cache consistency. Common strategies include:
- Time-To-Live (TTL): Automatic expiration after a set duration.
- Explicit Invalidation: Manually purging entries when source data changes.
- Write-Through/Write-Behind: Updating the cache synchronously or asynchronously on writes. Admission policies must consider invalidation costs; caching highly volatile data may be counterproductive.
Cache-Aside Pattern
The cache-aside pattern (or lazy loading) is a common caching strategy where the application code (e.g., the AI agent) explicitly manages the cache. The flow is:
- On a request, the agent first checks the cache.
- If a cache hit occurs, it uses the cached data.
- If a cache miss occurs, it fetches from the primary source (API/database), then applies the admission policy to decide whether to insert the result into the cache. This pattern gives the agent direct control over admission logic based on business rules or cost.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us