# Mastering Cache Key Resolution in Apollo iOS with @typePolicy and @fieldPolicy

DevFeed: [Mastering Cache Key Resolution in Apollo iOS with @typePolicy and @fieldPolicy](<https://devfeed.tech/articles/mastering-cache-key-resolution-in-apollo-ios-with-typepolicy-and-fieldpolicy-23450.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/mastering-cache-key-resolution-in-apollo-ios-with-typepolicy-and-fieldpolicy>)

Author: Zach FettersMoore

Published: 2025-11-10T10:37:20Z

Content type: tutorial

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [Caching](<https://devfeed.tech/topics/caching.md>), [Cache](<https://devfeed.tech/topics/cache.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>)

Tags: [apollo](<https://devfeed.tech/tags/apollo.md>), [cache](<https://devfeed.tech/tags/cache.md>), [caching](<https://devfeed.tech/tags/caching.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [policy](<https://devfeed.tech/tags/policy.md>), [schema](<https://devfeed.tech/tags/schema.md>), [server](<https://devfeed.tech/tags/server.md>)

## AI overview

This tutorial explains cache key resolution in Apollo iOS's normalized GraphQL cache. It describes how response-path keys can cause duplicate entries and how type policies and field policies can use stable identifiers to improve object storage and retrieval, potentially reducing network requests.

## Source excerpt

When working with Apollo iOS's normalized cache, one of the most critical decisions you'll make is how to identify and retrieve cached objects efficiently. The and directives provide a powerful declarative approach to cache key resolution, enabling your application to intelligently store and retrieve data while minimizing network requests and avoiding cache duplication. Overview: The Cache Key Resolution Problem Apollo iOS uses a normalized cache to store GraphQL responses.