Redis 統合
Redis は商用プロジェクトでよく使われるインフラストラクチャで、主にキャッシュ、レート制限、セッション保存など、ビジネスロジックと密接に関連する機能に使用されます。
NEXTY.DEV ボイラープレートは Redis をマルチプロバイダーで抽象化しており、以下の 2 つの動作モードを標準でサポートしています:
- Upstash:REST API ベースのサーバーレス Redis。Edge / Cloudflare Workers などのランタイムと互換性があります。
- ioredis:TCP 接続ベースの自宅ホスト Redis。Node.js サーバーや Vercel デプロイに適しています。
DEFAULT_REDIS_PROVIDER 環境変数でプロバイダーを選択します(デフォルトは upstash)。選択したプロバイダーの認証情報が設定されていない場合、関連機能は自動的にデグレードされ、他のビジネスロジックには影響しません。
注目すべき点 ボイラープレートには、メール購読機能にレートリミターのサンプルが含まれており、Redis の設定に基づいてレート制限を有効にするかどうかを自動的に判断します。
プロバイダーの選択
| プロバイダー | ユースケース | 環境変数 |
|---|---|---|
upstash(デフォルト) | サーバーレスデプロイ、Edge / Cloudflare Workers | UPSTASH_REDIS_REST_URL、UPSTASH_REDIS_REST_TOKEN |
ioredis | Node.js サーバー、Vercel、自宅ホスト / Coolify Redis | REDIS_URL |
Upstash の設定
-
Upstash にアクセスし、メールアドレスでアカウントを登録します
-
Dashboard ページに移動し、
Create databaseボタンをクリックします



- データベース詳細ページに入り、REST API モジュールで
UPSTASH_REDIS_REST_URLとUPSTASH_REDIS_REST_TOKENを環境変数にコピーします

DEFAULT_REDIS_PROVIDER=upstashに設定されているか、未設定のままにします(デフォルトはupstash)
自宅ホスト Redis(ioredis)の設定
-
Redis インスタンスを準備します。ローカル開発では
redis://localhost:6379を使用できます。本番環境では Coolify などのマネージド Redis を利用できます。詳細は Coolify での Redis デプロイ を参照してください。 -
接続先 URL を
REDIS_URLに書き込み、プロバイダーを設定します:
DEFAULT_REDIS_PROVIDER=ioredis
REDIS_URL=redis://localhost:6379注意 ioredis は Node.js の
netモジュールに依存しているため、Edge や Cloudflare では動作しません。これらのランタイムでは Upstash プロバイダーを使用してください。
検証
これで、ページフッターでメール購読を再度送信してみましょう:
- Upstash を使用する場合は、Upstash Redis の Data Browser ページを確認します。新しいデータがあれば、購読レートリミターが動作していることを意味します。
- ioredis を使用する場合は、
redis-cliまたは RedisInsight で対応する key を確認します。

二次開発
業務コードは lib/redis から統一してインポートします:
import { redis, checkRateLimit, getClientIPFromRequest } from "@/lib/redis";redis:統一 Redis クライアント。get、set、incr、sadd、srem、sismemberなどのメソッドを提供します。checkRateLimit:現在のプロバイダーに応じてレート制限チェックを実行します(Upstash はスライディングウィンドウ、ioredis は固定ウィンドウ)。getClientIPFromRequest/getClientIPFromHeaders:クライアント IP を取得します。
プロバイダー固有のネイティブ機能が必要な場合は、upstashRedis または ioRedis をエクスポートして使用できます。