~/talk

Caching your GraphQL data graph

Talkat droidcon London 2022 · 2022-10-27..10-28· [graphql, frontend-architecture]
links:none on file
slides:none on file

Explains how Apollo Kotlin implements a normalized cache that flattens nested GraphQL responses into record maps keyed by IDs, with both an in-memory layer and a SQL normalized cache that can be chained for fast reads then persistence and network fallback. Shows codegen rebuilding typed models from records, live watchers using coroutines to update UI on cache mutations, and recommends adding unique IDs in schema and queries. Mentions one-line offline support, work on pagination and data-age, and an incubating library for trying the features.

AI-written summary · about

  1. 0:00Introduction and speakers
  2. 0:27What is GraphQL
  3. 4:19Challenges with GraphQL caching
  4. 8:12Normalized cache solution
  5. 11:22Type safety with Apollo Kotlin
  6. 12:29Apollo Kotlin overview
  7. 13:34Using normalized cache in code
  8. 14:58Benefits of normalized cache
  9. 15:40Mutations and UI updates
  10. 17:46Unidirectional data flow
  11. 18:29Key conclusions and IDs
  12. 19:10Cache improvements and resources
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.