Accepted
The CDA SDK supports two distinct caching strategies:
Resource cache (options.cache) — caches content types and locales (and optionally entries/assets) fetched individually. Can be warmed at boot time and cleared via cache:clear. Cache invalidation is tied to the Symfony cache lifecycle.
Query cache (options.query_cache) — caches the full result set of $client->getEntries($query) calls, keyed by query parameters. These results are dynamic and content-dependent; they cannot be deterministically invalidated without re-fetching.
Merging these into a single cache config block would force both to share the same TTL and pool, which is inappropriate: resource cache is long-lived and warmer-managed, while query cache is short-lived (default 60s) with no invalidation mechanism.
Introduce a separate options.query_cache config block (added in the community PR that introduced query cache support, merged ~2023). It has its own pool (PSR-6) and lifetime (integer seconds, default 60). The resource cache block remains unchanged.
The intentionally low default TTL (60s) is documented in the config tree's info() strings to set expectations.
null pool disables query cache (opt-in, consistent with resource cache behavior)How can I help you explore Laravel packages today?