GraphQL ਨੂੰ cache ਕਰਨਾ REST ਨਾਲੋਂ ਔਖਾ ਹੈ ਕਿਉਂਕਿ ਇੱਕੋ endpoint ਹੁੰਦਾ ਹੈ ਅਤੇ requests ਆਮ ਤੌਰ 'ਤੇ POST ਹੁੰਦੇ ਹਨ, ਇਸ ਲਈ URL-based HTTP caching ਬਾਹਰ-ਦੇ-ਬਾਕਸ ਕੰਮ ਨਹੀਂ ਕਰਦੀ। ਇਸਦੀ ਥਾਂ ਤੁਸੀਂ ਤਿੰਨ ਪਰਤਾਂ 'ਤੇ cache ਕਰਦੇ ਹੋ: client, transport/CDN, ਅਤੇ server।
Normalized client cache
Apollo Client ਅਤੇ Relay results ਨੂੰ + ਦੁਆਰਾ keyed ਇੱਕ ਵਿੱਚ ਸਟੋਰ ਕਰਦੇ ਹਨ। ਹਰ object ਇੱਕ ਵਾਰ ਸਟੋਰ ਹੁੰਦਾ ਹੈ; ਵੱਖ-ਵੱਖ queries ਜੋ ਉਸੇ ਦਾ ਹਵਾਲਾ ਦਿੰਦੀਆਂ ਹਨ ਉਸਨੂੰ ਸਾਂਝਾ ਕਰਦੀਆਂ ਹਨ, ਇਸ ਲਈ ਇੱਕ mutation ਜੋ ਇੱਕ entity ਨੂੰ update ਕਰਦਾ ਹੈ ਹਰ view ਨੂੰ ਆਪਣੇ-ਆਪ refresh ਕਰ ਦਿੰਦਾ ਹੈ।
