A PostgreSQL-Typed extension to cache queries using Keyv
Install @postgresql-typed/cache
(keyv is a dependency of this package, so you don't need to install it)
npm install --save @postgresql-typed/cache
By default Keyv will store everything in memory, you can optionally also install a storage adapter.
npm install --save @keyv/redis
npm install --save @keyv/mongo
npm install --save @keyv/sqlite
npm install --save @keyv/postgres
npm install --save @keyv/mysql
npm install --save @keyv/etcd
Add the Cache extension to the core.extensions
array in your PostgreSQL-Typed configuration.
And set any options you want to use in the cache
object.
(All options are optional, and will use the default values if not set)
// pgt.config.ts (or postgresql-typed.config.ts)
import { defineConfig } from "@postgresql-typed/cli/config";
import "@postgresql-typed/cache/register"
export default defineConfig({
core: {
extensions: [
"@postgresql-typed/cache",
],
},
// Cache configuration (All options are optional)
cache: {
// The connection uri if you are using a storage adapter
uri: process.env.CACHE_URI, // "redis://user:pass@localhost:6379"
// The namespace to use for the cache, be default it will use "pgt"
namespace: "my-namespace"
// The TTL for the cache, by default it use 15 minutes (1000 * 60 * 15)
ttl: 1000 * 60 * 15,
// The types of queries to cache, by default it will use ["select"]
types: ["select", "insert", "update", "delete"];
}
});
This package is part of the PostgreSQL-Typed ecosystem.