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

1.0.0 • Public • Published

📦 @chrono-cache/next

A custom cache handler for Next.js, designed to address a common challenge: the need for large and costly distributed cache solutions (e.g., Redis) in horizontally scaled applications hosted outside of Vercel. This package uses @chrono-cache/core to manage an in-memory cache with TTL support. After the defined time, the in-memory cache is automatically refreshed locally, removing the need for distributed synchronization. Why does this matter?

  • Reduces operational costs by eliminating the dependency on external distributed cache infrastructure.
  • Makes efficient caching accessible in scalable environments with independent instances.

🚀 Installation

To install the package, use npm or pnpm:

pnpm add @chrono-cache/next

Usage

Registering the Cache Handler To enable @chrono-cache/next, you need to register the cache handler in your Next.js configuration file (next.config.js):

import path from "node:path";

/** @type {import('next').NextConfig} */
const nextConfig = {
  cacheHandler: path.resolve("node_modules/@chrono-cache/next/dist/index.js"),
};

export default nextConfig;

📘 Documentation

Configuration

Using environment variables you can change the default system settings

  • CACHE_MEMORY_LIMIT: Sets the memory cache size limit (in bytes). Example: CACHE_MEMORY_LIMIT=1048576 (1 MB)

  • CACHE_MEMORY_LIFETIME: Sets the lifetime of the memory cache (in milliseconds). Example: CACHE_MEMORY_LIFETIME=60000 (60 seconds)

  • NEXT_PRIVATE_DEBUG_CACHE: Enables debug logs to help monitor cache behavior. Example: NEXT_PRIVATE_DEBUG_CACHE=true

Example: Using Environment Variables Create a .env.local file in your Next.js project and add the desired configuration:

CACHE_MEMORY_LIMIT=1048576
CACHE_MEMORY_LIFETIME=60000
NEXT_PRIVATE_DEBUG_CACHE=true

🤝 Contributions

Contributions are welcome! If you find a bug or have an idea to improve the project, feel free to open an issue or submit a pull request.

Buy Me A Coffee

⚖️ License

MIT © Leandro C. Silva

Package Sidebar

Install

npm i @chrono-cache/next

Weekly Downloads

3

Version

1.0.0

License

MIT

Unpacked Size

34.9 kB

Total Files

7

Last publish

Collaborators

  • leandrocesarr