Introduced the concept cache key predicates that can be used to generate different cache keys for the same view. Query string parameters are a natural match, but we could think of using any other view predicate as a cache key predicate.