Stop serving stale data. Use event-based invalidation to keep your GraphQL cache instantly up-to-date.
#1about 2 minutes
Understanding GraphQL resolvers as cacheable functions
GraphQL resolvers can be treated as pure functions, allowing their results to be memoized and cached based on query arguments.
#2about 5 minutes
Comparing time-based and event-based cache invalidation
Time-based invalidation is simple but can serve stale data, whereas event-based invalidation keeps data synced but is more complex to implement.
#3about 4 minutes
Choosing a storage backend and generating cache keys
A cache can use fast in-memory storage for small, frequent data or a shared Redis instance for larger datasets across multiple nodes.
#4about 4 minutes
Using references for targeted cache invalidation
By tagging cache entries with references to the underlying data entities, you can precisely invalidate them when a write event occurs.
#5about 7 minutes
Live demo of setting up a basic GraphQL server
A Fastify server is configured with the Mercurius plugin to serve a GraphQL schema with user and country data from an in-memory database.
#6about 3 minutes
Live demo of implementing a time-based cache policy
The Mercurius Cache plugin is configured with a time-to-live policy for a query, using onHit and onMiss events to verify its effectiveness.
#7about 5 minutes
Live demo of solving stale data with event invalidation
An invalidation function is added to a mutation resolver, which uses references to clear the relevant user data from the cache upon update.
#8about 3 minutes
Exploring advanced features of Mercurius Cache
Mercurius Cache also supports custom key generation, request deduplication, programmatic invalidation with wildcards, and garbage collection for references.
#9about 4 minutes
Q&A on career advice and GraphQL best practices
Common GraphQL pitfalls are discussed, such as neglecting to use DataLoaders to solve the N+1 query problem.
Related jobs
Jobs that call for the skills explored in this talk.
The Web We Broke (And Why AI Agents Are Paying the Price) - AgentCon BerlinThis is the accompanying post to the talk Chris Heilmann gave at AgentCon in Berlin on 19/05/2026, you can also see the slides and listen to it in this screencast:
Thirty years of developer shortcuts, bloated JavaScript, and inaccessible HTML have l...
Daniel Cranney, Chris Heilmann
Dev Digest 215: Agent Memory, JS2026, Googlebot Analysis & Canvas❤️HTMLInside last week’s Dev Digest 215 .
🗿 Make AI talk like a caveman
🧠 A guide to context engineering for LLMs
🤖 Simon Willison on agentic engineering
🔐 Axios supply chain attack post mortem
🛡️ Designing AI agents to resist prompt injection
🎨 HTML in c...
How to Turn Community Events Into a Powerful AI GTM Engine: The Daytona PlaybookWhen you first meet Marijan Cipcic, you might not expect a PhD historian to be helping build one of the fastest-growing AI developer communities in the world. But that unconventional background is exactly what makes his approach different.
Before joi...
From learning to earning
Jobs that call for the skills explored in this talk.