Time to live, or TTL, is an expiry stamped on each cached entry. When the TTL passes, the entry is considered stale and is refetched on the next request. TTL is the simplest way to bound staleness: a one-minute TTL means a user might see data up to a minute old, which is fine for a product listing and unacceptable for an account balance. You pick the TTL per kind of data based on how fresh it has to be.
Caches are also bounded in size, so when they fill up they must evict something to make room. The common policy is LRU, least recently used, which throws out whatever has not been touched for the longest time, on the assumption that recently used data is most likely to be used again. Between TTL expiry and size-based eviction, an entry leaves the cache either because it got too old or because it was crowded out.