> ## 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.

# Deno Deploy

<Snippet file="redis/start-redis-snippet.mdx" />

This is a step-by-step guide on how to use Upstash Redis to create a view
counter in your Deno deploy project.

### Create a database

Create a Redis database using [Upstash Console](https://console.upstash.com) or
[Upstash CLI](https://github.com/upstash/cli). Select the global to minimize the
latency from all edge locations. Copy the `UPSTASH_REDIS_REST_URL` and
`UPSTASH_REDIS_REST_TOKEN` for the next steps.

### Create a Deno deploy project

Go to [https://dash.deno.com/projects](https://dash.deno.com/projects) and
create a new playground project.

<img src="https://mintcdn.com/upstash/fy-PVAyWJaRFn1UN/img/redis-deno/create.png?fit=max&auto=format&n=fy-PVAyWJaRFn1UN&q=85&s=6cb71bf83b9a0df25b5457e6efe3b500" alt="" width="2056" height="1308" data-path="img/redis-deno/create.png" />

### 2. Edit the handler function

Then paste the following code into the browser editor:

```ts theme={"system"}
import { serve } from "https://deno.land/std@0.142.0/http/server.ts";
import { Redis } from "https://deno.land/x/upstash_redis@v1.14.0/mod.ts";

serve(async (_req: Request) => {
  if (!_req.url.endsWith("favicon.ico")) {
    const redis = new Redis({
      url: "UPSTASH_REDIS_REST_URL",
      token: "UPSTASH_REDIS_REST_TOKEN",
    });

    const counter = await redis.incr("deno-counter");
    return new Response(JSON.stringify({ counter }), { status: 200 });
  }
});
```

### 3. Deploy and Run

Simply click on `Save & Deploy` at the top of the screen.

<img src="https://mintcdn.com/upstash/fy-PVAyWJaRFn1UN/img/redis-deno/deploy.png?fit=max&auto=format&n=fy-PVAyWJaRFn1UN&q=85&s=9b2c12804600632014a6ca7303a9f72c" alt="" width="2962" height="1492" data-path="img/redis-deno/deploy.png" />
