Skip to content

Quell is an easy-to-use, lightweight JavaScript library providing a client- and server-side caching solution for GraphQL. Use Quell to prevent redundant client-side API requests and to minimize costly server-side response latency.

License

Notifications You must be signed in to change notification settings

garyiacobucci/Quell

 
 

Repository files navigation

License: MIT AppVeyor AppVeyor contributions welcome

Quell

Quell is an easy-to-use, lightweight JavaScript library providing a client- and server-side caching solution for GraphQL.

Accelerated by OS Labs and developed by Robleh Farah, Angela Franco, Ken Litton, Thomas Reeder, Andrei Cabrera, Dasha Kondratenko, Derek Sirola, Xiao Yu Omeara, Nick Kruckenberg, Mike Lauri, Rob Nobile and Justin Jaeger.

Features

  • Client-side caching utilizing sessionStorage
  • Server-side caching utilizing a configurable Redis in-memory data store
  • Automatic unique cache key generation
  • Partial and exact match query caching
  • Programmatic rebuilding of GraphQL queries to fetch only the minimum data necessary to complete the response based upon current cache contents

Installation

Quell is divided into two npm packages:

  • Download @quell/client from npm in your terminal with npm i @quell/client
  • Download @quell/server from npm in your terminal with npm i @quell/server

Installing and Connecting a Redis Server

If not already installed on your server, install Redis.

  • Mac-Homebrew:
    • At the terminal, type brew install redis
    • After installation completes, type redis-server
    • Your server should now have a Redis database connection open (note the port on which it is listening)
  • Linux or non-Homebrew:
    • Download appropriate version of Redis from redis.io/download
    • Follow installation instructions
    • Once Redis is successfully installed, follow instructions to open a Redis database connection (note the port on which it is listening)

Usage Notes

  • Currently, Quell can only cache query-type requests without variables or directives. Quell will still process these other requests, but will not cache the responses.

Documentation

Contribute to Quell

Interested in making a contribution to Quell? Click for our open-source contribution guidelines.

Thank you for your interest and support! Team Quell

About

Quell is an easy-to-use, lightweight JavaScript library providing a client- and server-side caching solution for GraphQL. Use Quell to prevent redundant client-side API requests and to minimize costly server-side response latency.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%