How to reactively load and cache data without even trying
summary
NYT open sources Store, a concrete library that implements mem-cache then disk-cache then network with reactive APIs and streaming parsers so apps get data without bespoke plumbing. It uses RxJava + Guava + OKIO for inflight request coalescing, blocking loading cache, and streaming BufferedSource/Sink to a simple file system. Production use cuts cold-start time, powers offline modes, lets interns ship a bestseller screen in a month, and already draws ~20 external contributions.
AI-written summary · about
chapters (21)
- 0:00Start
- 1:09Why Do We Like Open Source
- 2:11Loading Data
- 2:21Data Loading
- 3:43Data Should Survive Configuration Changes
- 5:19How Do We Work with Data at the New York Times
- 7:41The Repository Pattern
- 10:00What Is the Store
- 11:35Data Flow
- 14:21Storage Bench Fetch
- 15:25Stored Stream
- 17:00Pizza Fetcher
- 17:57Parsers
- 21:17Helper Interfaces
- 21:29The Data Flow
- 22:46Store Builder
- 24:06Configuring Your Memory Policy
- 25:04Network before Sale
- 31:12Listening for Changes
- 31:59Bonus
- 32:41Guava Caches
related talks
21mStore Library
40mSmarter Application Caching with Kotlin Flow
26mAndroid Architecture for the Subway
41mLearning Rx by example
34mStoring app data reliably & performantly with SimpleStore
36mThe Persistence Layer Playbook
48mGoing Reactive, An Android Architectural Journey
27mModern Paging at Scale: StoreX + Compose
