Upstash Redis in Vercel Functions
info
This is a quickstart for Vercel Serverless Functions. For Vercel Edge Functions, check this article.
Database Setup
Create a Redis database using Upstash Console or
Upstash CLI. Select the same region with your
Vercel Serverless Function to minimize the latency. Copy the
UPSTASH_REDIS_REST_URL
and UPSTASH_REDIS_REST_TOKEN
for the next steps.
Project Setup
We will create a Next.js application and deploy to Vercel.
npx create-next-app@latest
cd my-app
Install @upstash/redis:
npm install @upstash/redis
The Code
Update pages/api/hello.js
and replace REST_URL and REST_TOKEN below:
import { Redis } from '@upstash/redis'
import type { NextApiRequest, NextApiResponse } from 'next'
const redis = new Redis({
url: 'UPSTASH_REDIS_REST_URL',
token: 'UPSTASH_REDIS_REST_TOKEN',
})
export default async function handler(req: NextApiRequest, res: NextApiResponse): Promise<void> {
const count = await redis.incr("counter")
res.status(200).json({count})
}
Run & Deploy
You can run the app locally: npm run dev
and check
http://localhost:3000/api/hello
Deploy your app with vercel deploy
info
You can also integrate your Vercel projects with Upstash using Vercel Integration module. Check this article.