Skip to content

Files

Latest commit

07e6939 · Apr 14, 2023

History

History

redirects-upstash

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Mar 13, 2023
Mar 13, 2023
Jan 24, 2023
Mar 10, 2023
Jan 24, 2023
Mar 13, 2023
Jan 24, 2023
Mar 24, 2023
Jan 24, 2023
Mar 24, 2023
Jan 24, 2023
Jan 24, 2023
Jan 24, 2023
Mar 24, 2023
Apr 14, 2023
Jan 24, 2023
Jan 24, 2023
Jan 24, 2023
Jan 24, 2023
Mar 24, 2023
Mar 24, 2023
name slug description framework useCase css deployUrl demoUrl relatedTemplates
Edge Redirects with Upstash
edge-redirects-upstash
Redirect from a list of redirects both hardcoded and coming from Upstash (Redis), that get evaluated at the edge.
Next.js
Edge Middleware
Tailwind
edge-functions-i18n

Edge Redirects with Upstash

This demo features a list of redirects, both hardcoded and coming from Redis (Upstash), that get evaluated at the edge.

The demo has a total of 10,000 redirects, 1,000 of which are hardcoded on a JSON file, and 9,000 added to Redis.

Redirects in a JSON file are faster to evaluate, but they can only be edited at build time, with Redis we can have editable redirects with a low latency cost.

Demo

https://edge-functions-redirects-upstash.vercel.app

How to Use

You can choose from one of the following two methods to use this repository:

One-Click Deploy

Deploy the example using Vercel:

Deploy with Vercel

Clone and Deploy

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

pnpm create next-app --example https://github.com/vercel/examples/tree/main/edge-middleware/redirects-upstash redirects-upstash

You'll need to have an account with Upstash. Once that's done, copy the .env.example file in this directory to .env.local (which will be ignored by Git):

cp .env.example .env.local

Then open .env.local and set the environment variables to match the REST API and Edge API of your database. It should look like this:

# Upstash REST API
UPSTASH_REST_API_DOMAIN = "us1-shiny-firefly-12345.upstash.io"
UPSTASH_REST_API_TOKEN = "your-api-token"

We populate the redirects in Upstash in scripts/upstash.js using their REST API, if you prefer not to do that then set POPULATE_REDIS to false in .env. JSON redirects are also created there.

Next, run Next.js in development mode:

pnpm dev

Deploy it to the cloud with Vercel (Documentation).