Skip to main content

Documentation Index

Fetch the complete documentation index at: https://upstash.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Need a Redis database fast? Skip the signup and dashboard — POST to https://upstash.com/start-redis to get an endpoint and token in a single HTTP request. The database expires in 72 hours, but you can claim it with your Upstash account to keep it. Especially useful for AI agents that need scratch storage on the fly.

GitHub Repository

You can find the project source code on GitHub.

Prerequisites

You need to have AWS credentials configured locally and SST CLI installed.
  1. Create an AWS account
  2. Create an IAM user
  3. Configure the AWS CLI
  4. Setup SST CLI

Project Setup

Let’s create a new Next.js application.
npx create-next-app@latest
cd my-app
Let’s initialize SST in our app.
sst init
Install the @upstash/redis package.
npm install @upstash/redis

Database Setup

Create a Redis database using Upstash Console or Upstash CLI and copy the UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN into your .env file.
.env
UPSTASH_REDIS_REST_URL=<YOUR_URL>
UPSTASH_REDIS_REST_TOKEN=<YOUR_TOKEN>

Pass the Environment Variables

/sst.config.ts
/// <reference path="./.sst/platform/config.d.ts" />

export default $config({
  app(input) {
    return {
      name: "my-app",
      removal: input?.stage === "production" ? "retain" : "remove",
      home: "aws",
    };
  },
  async run() {
    new sst.aws.Nextjs("MyWeb", {
      environment: {
        UPSTASH_REDIS_REST_URL: process.env.UPSTASH_REDIS_REST_URL || "",
        UPSTASH_REDIS_REST_TOKEN: process.env.UPSTASH_REDIS_REST_TOKEN || "",
      },
    });
  },
});

Home Page Setup

Update /app/page.tsx:
/app/page.tsx
import { Redis } from "@upstash/redis";

const redis = Redis.fromEnv();

export default async function Home() {
  const count = await redis.incr("counter");
  return (
    <div className="flex h-screen w-screen items-center justify-center">
      <h1 className="text-4xl font-bold">Counter: {count}</h1>
    </div>
  )
}

Run

Run the SST app.
npm run dev
Check http://localhost:3000/

Deploy

Deploy with SST.
sst deploy
Check the output URL.