# `ReqLLM.Schema.EvictionStrategy`
[🔗](https://github.com/agentjido/req_llm/blob/main/lib/req_llm/schema/eviction_strategy.ex#L1)

Selects an entry to remove from the JSON Schema validator cache.

ReqLLM owns the cache, enforces its memory limit, and performs eviction. A
strategy receives cache metadata and selects one entry. It does not receive
the compiled validator or the ETS table.

# `entry`

```elixir
@type entry() :: %{schema: map(), inserted_at: integer(), last_access: integer()}
```

# `select_victim`

```elixir
@callback select_victim([entry(), ...]) :: entry()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
