/apollo-server-aerospike-cache

Apollo Server cache using Aerospike

Primary LanguageJavaScriptMIT LicenseMIT

Apollo Server cache using Aerospike

This package exports an implementation of KeyValueCache using Aerospike as the cache for resource caching in Apollo Data Sources.

Build Status

Usage

const { ApolloServer } = require('apollo-server');
const { ApolloCacheAerospike } = require('apollo-server-cache-aerospike');
const responseCachePlugin = require ('apollo-server-plugin-response-cache');

const server = new ApolloServer({
  typeDefs,
  resolvers,
  cache: new ApolloCacheAerospike(
    {
      namespace: 'test',
      set: 'entity-cache',
      valueBinName: 'cache-value',
      cluster: {
        hosts: [
          { addr: "localhost", port: 3000 }
        ]
      }
    }
  ),
  cacheControl: {
    defaultMaxAge: 30,
  },
  plugins: [responseCachePlugin()],
  dataSources: () => ({
    moviesAPI: new MoviesAPI(),
  }),
});

For documentation on the Aerospike cluster options bassed to the Aerocpike client, refer to here