Skip to main content
CLI man page: safesquid-cache(5)
The Cache section (safesquid-cache(5)) controls in-memory HTTP caching, refresh policy, and ICP parameters for forwarding.

Core mechanics

Refresh — first match wins

Walk Refresh rows top-down; first enabled row whose profiles match sets min/max age, validate, and cachable flag, then stops. cachable=FALSE sets CACHE_INVALID unless CACHE_FORCE.

Disk store hard-disabled

Disk store selection is inactive — new objects are memory-only regardless of Store row configuration.

Violate RFC

Objects stored despite no-cache / no-store get CACHE_VIOLATION. When Violate RFC is off, reads return NULL (not served). When on, violation objects may be served.
Cache open flow

Cache read path

Examples

Uncachable profile on top

Config: Refresh row 1 profiles uncachable, cachable off; row 2 blank profiles, cachable on.Result: Tagged connections get CACHE_INVALID on new entries; others use row 2 ages.

Violate RFC off

Config: violaterfc false; stored no-store object.Result: Second client does not receive object from cache — miss to origin.

Store row present

Config: Store enabled with path and quota.Result: select_store still NULL — memory-only in current builds.

How to verify

  1. Enable CACHE in LOG_LEVEL.
  2. Repeat URL request; check Detailed logs for hit/miss.
  3. Use Manage cached objects to inspect or purge entries.