Skip to content
REDIS

Redis 7.
One URL, ready to cache.

A Redis instance for every project. Cache pages, queue jobs, keep sessions and rate limit requests with the client you already use.

Redis 7 Persisted to disk Resize live on Pro
REDIS · LIVE
redis 7AOFgreetingrate:42session:adacache:/homeNOEVICTIONHITS0123456789012345678901234567890123456789REDIS-CLI> PINGPONG> GET greeting"hello"LPUSHQUEUEWORKER
7Redis version, persisted with an append-only file
256 MB to 4 GBmemory sizes on Pro, changed without a restart
32 MBof memory on the Free plan
WHAT YOU GET

Everything included.
Nothing to wire up.

Redis 7 for caching, queues, sessions and rate limiting.

Any client

ioredis, redis-py, redis-cli and queue libraries such as BullMQ all connect with one REDIS_URL.

Keys survive restarts

Data is persisted with an append-only file, so a restart does not empty your cache or your queues.

No silent eviction

Memory is capped with the noeviction policy. A full Redis refuses writes instead of dropping data, which keeps queued jobs safe.

Resize live

On Pro, pick a size from 256 MB to 4 GB. Redis does not restart, apps keep their connections and REDIS_URL stays the same.

Safe defaults

Your app signs in as the default user, which can run every command except admin ones such as CONFIG, ACL and SHUTDOWN.

Reset the password live

Reset it from the Redis card. Apps still using the old one are disconnected until you update REDIS_URL.

HOW IT WORKS

Three steps
to production.

  1. 01
    Deploy

    Click Deploy on the Redis card. You get one value, REDIS_URL.

  2. 02
    Connect

    Open one shared connection from server code with ioredis, redis-py or your language's standard client.

  3. 03
    Cache

    Store results, queue jobs or count requests. Give every cache key an expiry with EX.

Read the Redis guide
cache.ts
import Redis from "ioredis";

export const redis = new Redis(process.env.REDIS_URL!);

export async function cached<T>(key: string, ttlSec: number, load: () => Promise<T>): Promise<T> {
  const hit = await redis.get(key);
  if (hit) return JSON.parse(hit);
  const value = await load();
  await redis.set(key, JSON.stringify(value), "EX", ttlSec);
  return value;
}
BETTER TOGETHER

One project.
Every service connected.

Same project, same .env, same bill.

FAQ

Questions about
Redis.

Does BullMQ work?
Yes. Create the ioredis connection with maxRetriesPerRequest: null and pass it to BullMQ.
What happens when memory is full?
With the noeviction policy, Redis refuses writes instead of silently dropping keys. Give cache keys an expiry with EX so they free up space on their own.
Will my keys survive a restart?
Yes. Data is persisted with an append-only file, so keys survive restarts.
Can I make it bigger?
On Pro, open Resize on the Redis card and pick a size. The change is live and REDIS_URL stays the same. Free Redis has 32 MB and no sizes.

Add Redis to your project.
Free to start.

Postgres, auth, storage, Redis, email and AI models. One API key.