1.4.3 • Published 9 months ago
@knaus94/prisma-extension-cache-manager v1.4.3
@knaus94/prisma-extension-cache-manager
A caching extension for Prisma, compatible with cache-manager.
Features
- cache-manager compatibility
- Only model queries can be cacheable (no $query or $queryRaw)
Installation
Install:
npm i @knaus94/prisma-extension-cache-manager
Usage
import { PrismaClient } from "@prisma/client";
import * as cm from "cache-manager";
import cacheExtension from "@knaus94/prisma-extension-cache-manager";
async function main() {
const cache = await cm.caching("memory", {
ttl: 10000,
max: 200,
});
const prisma = new PrismaClient().$extends(cacheExtension({ cache }));
await prisma.user.findUniqueOrThrow({
where: {
email: user.email,
},
cache: true, // using cache default settings
});
await prisma.user.findMany({
cache: 5000, // setting ttl in milliseconds
});
await prisma.user.count({
cache: {
ttl: 2000,
key: "user_count", // custom cache key
},
});
await prisma.user.update({
data: {},
cache: {
ttl: 2000,
key: (result) => `user-${user.id}`, // custom cache key by result (There will be no reading from the cache, only a write down)
},
});
await prisma.user.create({
data: {},
uncache: `user_count`, // delete key from cache
});
await prisma.user.create({
data: {},
cache: {
ttl: 2000,
key: (result) => `user-${user.id}`, // custom cache key by result (There will be no reading from the cache, only a write down)
},
uncache: [`user_count`, `users`], // delete keys from cache
});
}
main().catch(console.error);
Learn more
1.4.3
9 months ago
1.4.2
11 months ago
1.4.1
11 months ago
1.4.0
11 months ago
1.3.9
1 year ago
1.3.8
2 years ago
1.3.7
2 years ago
1.3.6
2 years ago
1.3.5
2 years ago
1.3.4
2 years ago
1.3.3
2 years ago
1.3.2
2 years ago
1.3.1
2 years ago
1.3.0
2 years ago
1.2.2
2 years ago
1.2.1
2 years ago
1.2.0
2 years ago
1.1.3
2 years ago
1.1.2
2 years ago
1.1.1
2 years ago
1.1.0
2 years ago
1.0.16
2 years ago
1.0.15
2 years ago
1.0.14
2 years ago
1.0.13
2 years ago
1.0.12
2 years ago
1.0.11
2 years ago
1.0.10
2 years ago
1.0.9
2 years ago
1.0.8
2 years ago
1.0.7
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago
0.0.2
2 years ago
0.0.1
2 years ago