knex-cache-plugin
v1.0.6
Published
A caching plugin for Knex.js
Downloads
68
Readme
Knex-cache
A plugin for Knex.js SQL Query builder to help with any caching you may need.
How to install
To use this extension, first you will have to install it:
# PNPM
pnpm i knex-cache-plugin --save
# NPM
npm i knex-cache-plugin --save
# Yarn
yarn add knex-cache-plugin
Then, add the following lines to your Knex set up:
import { attachCache } from "knex-cache-plugin";
attachCache();
How to use
Caching result of a query
const client = knex(config);
const result = await client("users").cache();
// returns query result and caches if not set
// calling this again will return the cached result
const result = await client("users")
.select("name", "email")
.where("user_id", "123")
.cache();
// can be chained on to any knex query
const result = await client("users").cache({ key: "fetchUsers" });
// use a custom cache key
Invalidating cache
const client = knex(config);
client("users").invalidate();
// invalidate query automatically
client.invalidate({ key: "fetchUsers" });
// invalidate a cache using a key
Clearing cache
const client = knex(config);
client.clearCache();
// clear all records in the cache
This package was inspired by this comment by AxxxxOn.