Jak vlastně funguje caching v GraphQL?
Přemýšlím nad tím, jak to vlastně s tím cachingem v GraphQL je. Vím, že caching obecně může výrazně zlepšit výkon aplikací tím, že se snižuje počet dotazů na server. Ale jak to funguje konkrétně u GraphQL? Je to nějak jinak než u REST API? Mám pocit, že když udělám dotaz v GraphQL, tak dostanu zpět přesně ta data, která potřebuju, ale co když chci už předem nějaká data uložit do cache? Jak se to vlastně provádí? Existují nějaké specializované knihovny pro caching v GraphQL, nebo se dá použít něco běžného jako Redis nebo Memcached? A co třeba klientské caching? Jak to funguje v Apollo Clientu, slyšel jsem o nějakých mechanismech, které tam jsou, ale úplně tomu nerozumím. A co invalidace cache? Jak poznat, kdy je potřeba cache vyčistit a znovu načíst data z API? To mi přijde jako další složitá otázka. Pokud máte někdo zkušenosti s cachováním v GraphQL a můžete to nějak objasnit, budu moc rád. Díky!