🎉 1.3.0 is out! It features the new keyExpirationStrategy option for the redis-strings Handler!
Introduction

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.

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.