All Projects → Intellicode → graphql-resolver-cache

Intellicode / graphql-resolver-cache

Licence: MIT license
Caching for Graphql Resolvers

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to graphql-resolver-cache

apollo-graphql-tutorial
Learning apollo graphql version 2.x with Node.js
Stars: ✭ 18 (+0%)
Mutual labels:  apollographql, apollo-server
Apollo2 Subscriptions How To
Apollo Server 2 how to setup subscriptions
Stars: ✭ 125 (+594.44%)
Mutual labels:  apollographql, apollo-server
Fullstack Apollo Express Mongodb Boilerplate
💥A sophisticated GraphQL with Apollo, Express and MongoDB boilerplate project.
Stars: ✭ 301 (+1572.22%)
Mutual labels:  apollographql, apollo-server
kontent-boilerplate-express-apollo
Kontent Boilerplate for development of Express application using Apollo server and GraphQL.
Stars: ✭ 21 (+16.67%)
Mutual labels:  apollographql, apollo-server
Gramps Express
NOTE: The GrAMPS core has moved to https://github.com/gramps-graphql/gramps
Stars: ✭ 161 (+794.44%)
Mutual labels:  apollographql, apollo-server
hano-graphql
GraphQL, Hapi and Node Project For Scaleable Apps.
Stars: ✭ 13 (-27.78%)
Mutual labels:  apollographql, apollo-server
Graphql Log
Add logging to your GraphQL resolvers so you know what's going on in your app.
Stars: ✭ 94 (+422.22%)
Mutual labels:  apollographql, graphql-js
now-course
Proyecto para el curso de Now.sh en Platzi
Stars: ✭ 19 (+5.56%)
Mutual labels:  apollographql, apollo-server
apollo-express-ts-server-boilerplate
No description or website provided.
Stars: ✭ 29 (+61.11%)
Mutual labels:  apollographql, apollo-server
Apollo Opentracing
Performance trace your Apollo GraphQL server with Opentracing
Stars: ✭ 154 (+755.56%)
Mutual labels:  apollographql, apollo-server
Graphql Cost Analysis
A Graphql query cost analyzer.
Stars: ✭ 527 (+2827.78%)
Mutual labels:  graphql-js, apollo-server
fullstack-apollo-subscription-example
A minimal Apollo Server 2 with Apollo Client 2 with Subscriptions application.
Stars: ✭ 72 (+300%)
Mutual labels:  apollographql, apollo-server
Fullstack Apollo Express Postgresql Boilerplate
💥 A sophisticated GraphQL with Apollo, Express and PostgreSQL boilerplate project.
Stars: ✭ 1,079 (+5894.44%)
Mutual labels:  apollographql, apollo-server
Fullstack Apollo React Boilerplate
💥A sophisticated Apollo in React boilerplate project.
Stars: ✭ 136 (+655.56%)
Mutual labels:  apollographql, apollo-server
apollo-newrelic-extension
Apollo Server extension library for performing NewRelic transaction traces of graphql requests
Stars: ✭ 16 (-11.11%)
Mutual labels:  apollographql, apollo-server
apollo-log
A logging extension for the Apollo GraphQL Server
Stars: ✭ 64 (+255.56%)
Mutual labels:  apollographql, apollo-server
mern-apollo-graphql-boilerplate
MERN + Apollo-Graphql Boilerplate
Stars: ✭ 21 (+16.67%)
Mutual labels:  apollographql
apollo-directive
tools for easy (and finally readable!) directive implementation in Apollo Server or any server using graphql-tools.makeExecutableSchema
Stars: ✭ 13 (-27.78%)
Mutual labels:  apollo-server
graphql-query-whitelist
GraphQL query whitelisting middleware
Stars: ✭ 17 (-5.56%)
Mutual labels:  graphql-js
GraphQL-Android
A project for showing use of apollo-android for consuming github graphQL API
Stars: ✭ 51 (+183.33%)
Mutual labels:  apollographql

Graphql resolver cache

Greenkeeper badge

Maintenance Status NPM version Build Status Dependency Status Coverage Status Code Climate BCH compliance

Easy wrapper around resolvers to cache results based on root elements and Graphql query arguments. Works best with Apollo Graphql.

Installation

$ npm install graphql-resolver-cache --save

Configuration

Add a cache to your Graphql middleware:

import express from 'express';
import bodyParser from 'body-parser';
import { graphqlExpress } from 'apollo-server-express';
import { LruCache } from 'graphql-resolver-cache';

const myGraphQLSchema = // ... define or import your schema here!
const PORT = 3000;

const app = express();
const resolverCache = new LruCache();

// bodyParser is needed just for POST.
app.use('/graphql', bodyParser.json(), graphqlExpress({ 
  schema: myGraphQLSchema,
  context: { resolverCache }
}));

app.listen(PORT);

Wrap your resolver in a cache function:

import { withCache } from 'graphql-resolver-cache';
export default {
  User: {
    getFriends: withCache((root, args, context) => { /* logic */ }),
  },
};
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].