# Response caching

> Keeps the responses of the reads an operation declares cacheable, for a bounded time. Honours the upstream's Cache-Control, ETag and Vary; answers 304 to a…

Concept - Since version 1.2.0 - Flexway v1.6.3 - https://flexway.io/en/docs/product-caching/

> Product guide: what the capability brings, for whom, its limits and the version that delivered it - no configuration syntax.

| | |
| --- | --- |
| **What it does** | Keeps the responses of the reads an operation declares cacheable, for a bounded time. Honours the upstream's `Cache-Control`, `ETag` and `Vary`; answers `304` to a client whose copy is current |
| **Why it matters** | A catalogue or reference data no longer costs a round trip to the upstream. The authenticated cache is **where** a gateway leaks between customers: it is closed by default, declared by the operation alone, and a cross-tenant isolation test runs on every PR |
| **Use cases** | A public product catalogue; a customer's cart, cached per tenant **and** per person; relieving a slow upstream of frequent reads |
| **Limits** | Nothing is cached by default; a cache hit still counts against the caller's quota; an in-memory cache per replica, bounded in bytes; no semantic cache for AI before `1.9.0`; no coalescing of identical in-flight reads before `1.8.0` |
| **Since** | `1.2.0` |
| **Configure** | [Caching a read](https://flexway.io/en/docs/operations-cache/) |
