Deterministic caching