Comments (1)
I don't know if hermes will really solve this for you (no more than any other pure-JS cache implementation would, at least). Hermes (and Apollo's default implementation) load the entire cache into the memory; there's no back and forth with the disk beyond that point.
Since, AFAIK, you can't perform RPC between iOS apps: you would need to serialize the cache to disk (in a shared location, like one managed via an app group) when switching between apps.
I'm also assuming you're in a react native world? The other unfortunate reality is that shuffling data along RN's bridge is pretty expensive, so you want to minimize the amount of time spent hydrating/dehydrating cache data.
Due to all that, I don't think concurrent access is really feasible with hermes :(
That said, it might be feasible to refactor hermes to track diffs between past "save points", so that you can minimize the time spent saving/restoring state between app switches. Synchronizing those deltas across multiple apps might get tricky, though.
from apollo-cache-hermes.
Related Issues (20)
- An in-range update of apollo-cache is breaking the build 🚨 HOT 4
- Switch from chai to jasmine expectations
- Stale data passed to Query prop after writeFragment operation HOT 1
- Cache returns incorrect data when using aliases on different fields with the same name HOT 4
- Verify that migrated reference field correctly garbage collects `outbound` and `inbound` references
- Continuous crashes on React Native Android HOT 11
- Add better description of what a normalized graph cache is HOT 1
- Cannot execute consecutive queries that would return the same data HOT 4
- Does not work with create-react-app with Typescript
- writeFragment blows away entity's __typename HOT 10
- RangeError: Maximum call stack size exceeded with a slightly complex query
- Adding more descriptive logging for InvalidPayloadError HOT 3
- Implement or document dataIdFromObject HOT 4
- Support freezeResults? HOT 2
- Much bigger than apollo-cache-inmemory HOT 1
- missing peer dependency on graphql
- bug: `GraphSnapshot` is not exported (but should be)
- 'useQuery' never returns data for entries written to the cache with 'writeFragment'
- Sync cache across tabs? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apollo-cache-hermes.