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.
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.
To see the cache logs use NEXT_PRIVATE_DEBUG_CACHE=1 troubleshooting
For detailed information on configuration and usage, please refer to our comprehensive Documentation ↗.
-
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.
-
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