A cache stores a result you can reconstruct.
Decide when it becomes invalid before deciding how long it lives. Sprig Catalog allows a stale description for five minutes, but a changed price must reach checkout within one second. Those are different contracts even when both fields belong to the same product.
Cache-aside loads a missing value from the database. It's simple until many requests miss together, or an old read repopulates a key after a newer write deletes it. Versioned entries and a single refresh owner address different races. Write-through keeps the cache on the write path and therefore adds another dependency to every write. In each design, state the source of truth, the stale-data window, and what happens when the cache is empty or unavailable.