apollographql / apollo-kotlin

:rocket:  A strongly-typed, caching GraphQL client for the JVM, Android, and Kotlin multiplatform.
https://www.apollographql.com/docs/kotlin
MIT License
3.73k stars 654 forks source link

MegaIssue: Cache improvements #2331

Open martinbonnin opened 4 years ago

martinbonnin commented 4 years ago

This is an generic issue to list ideas/improvements that can be done to the normalized cache

ychescale9 commented 4 years ago

I assume this requires weigher API if you're still planning to use Dropbox/Store/cache? Are there any other features / API changes you'd like to see from cache to enable these improvements?

martinbonnin commented 4 years ago

@ychescale9 I think multiplatform is a big one. I don't think Store supports multiplatform yet?

Multiplatform would be required for the LruNormalizedCache to be used from apollo-runtime-kotlin

ychescale9 commented 4 years ago

@martinbonnin multiplatform support for Store itself has been deprioritized. I’m keen to push for KMP support for the cache module first which currently is JVM only and does not depend on coroutines, so we can unblock apollo-android.

martinbonnin commented 4 years ago

That's be great! I think cache4 is all we need. I don't think we use store at the moment.

ahetawal-p commented 3 years ago

@martinbonnin Could this be also part of these improvements related to cache eviction: https://github.com/apollographql/apollo-android/issues/2507