rsnext/examples/cache-handler-redis/README.md
Arseny 3b46f22bb1
Update Redis Cache example with stabilized API (#60800)
This pull request updates the `cache-handler-redis` example with a
stabilized API. The updated `next.config.js` now uses the stable
`cacheHandler` option instead of the
`experimental.incrementalCacheHandlerPath`.
2024-01-21 02:40:54 +00:00

2.7 KiB

Next.js Redis Cache Integration Example

This example is tailored for self-hosted setups and demonstrates how to use Redis as a shared cache. It is built on the principles of the @neshca/cache-handler package, which replaces the default Next.js cache handler and adds advanced caching features.

Check out this repository that contains a comprehensive setup for Kubernetes.

How to use

Execute create-next-app with npm, Yarn, or pnpm to bootstrap the example:


npx create-next-app --example cache-handler-redis cache-handler-redis-app
yarn create next-app --example cache-handler-redis cache-handler-redis-app
pnpm create next-app --example cache-handler-redis cache-handler-redis-app

Once you have installed the dependencies, you can begin running the example Redis Stack server by using the following command:

docker-compose up -d

Then, build and start the Next.js app as usual.

Documentation

For detailed information on configuration and usage, please refer to our comprehensive Documentation ↗.

Key Features and Considerations

  • Handlers: The @neshca/cache-handler package includes Handlers for seamless integration with Redis.

  • Create Your Own Handlers: Take a look at Custom Redis Handler and use it as a basis to create your own handler.

  • Redis Server Setup: Ensure your Redis server is running and properly configured before starting your Next.js application.

  • Configure Redis Credentials: Update the cache-handler-redis* files with your Redis credentials. Connection details can be found here.

  • Building Without Redis: To build the app without connecting to Redis use conditions inside onCreation callback. Check the documentation for more details.

Development and Production Considerations

  • The provided docker-compose.yml is intended for local development. For production deployment, refer to the official Redis installation and management guidelines.

  • Clearing Redis Cache: To clear the Redis cache, use RedisInsight Workbench or the following CLI command:

    docker exec -it redis-stack redis-cli
    127.0.0.1:6379> flushall
    OK