@yxx4c/cache-utils
TypeScript icon, indicating that this package has built-in type declarations

0.0.7 • Public • Published

cache-utils

cache-utils is a versatile library designed to complement the prisma-redis-cache and prisma-redis-uncache libraries. It offers general-purpose functions for efficient Redis/DragonflyDB database maintenance.

🚀 If cache-utils proves helpful, consider giving it a star! ⭐ Star Me!

Installation

Using npm:

npm install @yxx4c/cache-utils

Using yarn:

yarn add @yxx4c/cache-utils

Using pnpm:

pnpm add @yxx4c/cache-utils

Using bun:

bun add @yxx4c/cache-utils

Example

import { getCacheKey, getCacheKeyPattern } from '@yxx4c/cache-utils';

// ...Extend Prisma with prisma-redis-cache

// Query a user and cache the result with custom configuration
prismaWithCache.user.findUnique({
  where: { id },
  cache: { ttl: 5, key: getCacheKey([{ prisma: 'User' }, { userId: id }]) },
});

// ...Extend Prisma with prisma-redis-uncache

// Example: Update a user and invalidate related cache keys
prismaWithUncache.user.update({
  where: { id },
  data: { username },
  uncache: {
    uncacheKeys: [
      getCacheKey([{ prisma: 'User' }, { userId: id }]),
      getCacheKeyPattern([{ prisma: '*' }, { userId: id }]), // Pattern matching under a specific key, eg: prisma:*:userId:1234
      getCacheKeyPattern([{ prisma: 'Post' }, { userId: id }, { glob: '*' }]), // Utilizing the key 'glob' to create a wildcard region, eg: prisma:post:userId:1234:*
    ],
    hasPattern: true,
  },
});

Integrate cache-utils seamlessly with prisma-redis-cache and prisma-redis-uncache for comprehensive Redis/DragonflyDB database management. If you find value in this library, show your support by giving it a star on GitHub.

Package Sidebar

Install

npm i @yxx4c/cache-utils

Weekly Downloads

109

Version

0.0.7

License

MIT

Unpacked Size

32.3 kB

Total Files

8

Last publish

Collaborators

  • yxx4c