1.1.1 • Published 2 years ago

@aengz/payload-redis-cache v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Payload Redis Cache Plugin

This plugin for Payload CMS adds a cache layer to API endpoints. The cache is based on the combination of the user's collection and the original URL.

Requirements

  • Payload version 1.0.19 or higher is required
  • A Redis instance is required

Installation

To install the plugin, run one of the following commands:

yarn add @aengz/payload-redis-cache

or

npm install @aengz/payload-redis-cache

Redis package

You also need to install the redis package if it is not already installed:

yarn add redis

or

npm install redis

Usage

To use the plugin, add it to the Payload config as follows:

import { buildConfig } from 'payload/config';
import { cachePlugin } from '@aengz/payload-redis-cache'

const config = buildConfig({
  // your config here
  
  plugins: [
    cachePlugin({ 
      excludedCollections: ['users'],
      //  excludedGlobals: ['myglobal']
    })
  ]
})

Add the initializer function in server.ts

import { cachePlugin } from '@aengz/payload-redis-cache'

...

initRedis({
  redisUrl: process.env.REDIS_URI
})

Plugin options

OptionTypeDescription
redisUrl *stringRedis instance's url.
redisNamespacestringChoose the prefix to use for cache redis keys. Defaults to payload.
redisIndexesNamestringChoose the index key for cache redis indexes. Defaults to payload-cache-index.
excludedCollectionsstring[]An array of collection names to be excluded.
excludedGlobalsstring[]An array of globals names to be excluded.
includedPathsstring[]An array of custom routes to be included.

A * denotes that the property is required.

Helpers

This package provides utility functions for managing the cache. Here's an example of how to use the invalidateCache function:

import { invalidateCache }  from '@aengz/payload-redis-cache'

...

invalidateCache()

Development

There is a development environment in the /dev directory of the repository. To use it, create a new .env file in the /dev directory using the example .env.example file as a reference:

cd dev
cp .env.example .env

Before using the plugin in the development environment, the package needs to be built. To build the library, run one of the following commands:

Build the lib

Build the lib using:

yarn dev:build

or

npm run dev:build

Use development environment

To run the development environment, use the following command:

yarn dev

or

npm run dev

Running test

To run the test suite, use one of the following commands:

yarn test

or

npm run test

License

MIT

1.1.1

2 years ago

1.1.0

2 years ago

1.0.4

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.3

2 years ago

1.0.0

2 years ago

0.1.11

2 years ago

0.1.10

2 years ago

0.1.10-1

2 years ago

0.1.9-11

2 years ago

0.1.9-10

2 years ago

0.1.9-9

2 years ago

0.1.9-8

2 years ago

0.1.9-6

2 years ago

0.1.9-5

2 years ago

0.1.9-4

2 years ago

0.1.9-3

2 years ago

0.1.9-2

2 years ago

0.1.9-1

2 years ago

0.1.9-0

2 years ago

0.1.8

3 years ago

0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago