
Caching on the Client in GraphQL - fairlycasual
Current solutions for client-side caching of GraphQL queries are heavy, slow, and arduous to implement. As such, we are proud to release FlacheQL.<p>FlacheQL handles edge cases that other libraries can’t. Currently, existing caching engines return from the cache on the exact same query. They are even smart enough to return a hit if one field is missing. However, FlacheQL does the aforementioned and is also able to return subsets from cached data based on <i>parameters</i> of the query, a feature no other caching library maintains. For instance, if we dispatch a query to the Yelp GraphQL endpoint for 50 businesses, and subsequently dispatch one for 25 businesses matching the same fields, other caching engines make a roundtrip to the database. FlacheQL has the power to return the subsets directly from the cache, speeding up your application, and decreasing loads on your servers.<p>We have seen remarkable page load improvements; queries such as the above that take 5 seconds to fetch via a roundtrip to the API with Apollo take 5ms to retrieve from the cache with FlacheQL. Furthermore, our library maintains faster retrieval times for cached data than Apollo across all of our test cases.<p>We’d love to hear about your experiences with our library, available on npm. This is a work in progress -- feel free to report issues on GitHub as well. You can find all the documentation and several demonstrations on our site: http:&#x2F;&#x2F;www.flacheql.io. You can download the package on npm, and please check out and star the repository at https:&#x2F;&#x2F;github.com&#x2F;FlacheQL&#x2F;FlacheQL. Thanks!
======
heyimjess
cool!

