graphql-resolver-cache
v1.1.0
Published
Caching for Graphql resolvers
Downloads
11
Readme
Graphql resolver cache
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 */ }),
},
};