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

1.3.1 • Public • Published

@neshca/cache-handler

Flexible API to replace the default Next.js cache, accommodating custom cache solutions for multi-instance self-hosted deployments

🎉 1.3.0 is out! It features the new keyExpirationStrategy option for the redis-strings Handler! It allows to use of a more performant API for the cache set operation but requires Redis server 6.2.0. Do not forget about the new neshCache application-side function for caching non-fetch data requests, e.g. axios or database queries.

Check out the changelog

npm package Dependencies License

Table of Contents

  1. Overview
  2. Getting Started with Your Own Custom Cache Solution
  3. Examples and Practical Implementations
  4. Requirements
  5. Documentation
  6. Developing and Contributing
  7. License

Overview

Welcome to @neshca/cache-handler, a specialized ISR/Data cache API crafted for Next.js applications. This library is designed to simplify the complex task of configuring shared cache strategies in distributed environments, such as those involving multiple and independent instances of the same application. It offers a flexible and user-friendly approach to integrating custom cache solutions and hand-crafted, pre-configured cache strategies for Redis.

Next.js Routers support

  • Full support for the Pages and the App Router.

The importance of shared cache in distributed environments

Next.js applications are often deployed in a self-hosted distributed environment, where multiple instances of the same application are running simultaneously. In such cases, the default Next.js cache is not shared between instances, causing the data to diverge between independent instances because load balancers route requests to a different instance every time. Another significant issue with the default cache setup is on-demand revalidation; it requires manual revalidation across all application replicas.

@neshca/cache-handler elegantly addresses these challenges by offering:

  • A straightforward API complemented by meticulously crafted Handlers.
  • Comprehensive customization options.
  • Simplified on-demand revalidation, akin to managing a single application instance.
  • TTL by default to keep cache storage clean and space-efficient.
  • One configuration for both Routes.
  • neshCache application-side function.

Kickstarting Your Custom Cache Solution

Begin enhancing your application's caching system with our Installation and the First Steps. This section provides all the necessary information on installation, basic configuration, and practical examples for quick and efficient integration.

Examples and Practical Implementations

Discover the versatility of @neshca/cache-handler in our Examples Section, where real-world scenarios are illustrated.

Learn how to build your own Handler by reading this guide.

Requirements

  • Next.js 13.5.1 and newer.
  • Node.js 18.17.0 and newer.

Documentation

Documentation ↗

Developing and contributing

Developing and contributing

License

MIT

Package Sidebar

Install

npm i @neshca/cache-handler

Weekly Downloads

18,440

Version

1.3.1

License

MIT

Unpacked Size

293 kB

Total Files

55

Last publish

Collaborators

  • caching-tools