ページ内ナビ
概要
Upstash Rate LimitはUpstash Redisを利用するconnectionlessなTypeScript向けrate limiting libraryです。HTTPベースで状態を共有でき、Next.js、Vercel Edge、Cloudflare Workersなど複数instanceへ分散する実行環境でrequest制御を組み込みやすくします。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
identifier単位のrate limitをRedis上の共有状態で判定する
READMEの例ではsliding windowで10秒あたり10 requestを設定し、user ID、API key、IP address、または固定文字列をidentifierとしてlimit()の成功可否を判定します。key prefixも指定できます。
出典:[1]
2.2.0ではwindow・token bucket周辺の境界条件を修正する
2.2.0はcached fixed-windowで最後のtokenを正しく使う修正、blockUntilReadyのnegative timeout回避、remaining tokenを超えるtoken-bucket requestのreject、duration parserのdecimal値とweek unit対応を含みます。
出典:[2]
向いている用途
process内memoryを共有できないServerless/Edge APIのrate limitに向く
READMEはAWS Lambda、Vercel、Cloudflare Workers/Pages、Vercel Edge、Fastly Compute@Edge、Next.js等を対象として挙げ、Next.jsのcomplete exampleも提供しています。
出典:[1]
導入前の確認
Upstash Redisをbacking storeとして用意し、credentialとfailure behaviorを設計する
利用にはUpstash Redis clientとREST credentialが必要です。productionではURL/tokenをsecret管理し、Redisへの通信遅延や一時的な失敗がAPIのrate-limit判定へ与える影響を含めて確認してください。
出典:[1]
identifier・prefix・telemetryをdeployment単位で明示する
複数applicationでRedisを共有する場合はprefix衝突を避け、identifierが意図した利用者単位になっているかを確認します。SDK名/versionのtelemetryはenableTelemetry: falseまたはUPSTASH_DISABLE_TELEMETRYで無効化できます。
出典:[1]
参考にした公式資料
- [1]Upstash Rate Limit v2.2.0 README(2026-10-06)
- [2]Upstash Rate Limit v2.2.0 release(2026-10-06)
編集部からの補足
process内memoryを共有できないServerless/Edge APIのrate limitに向きます。identifier/prefixの設計、Upstash Redisのcredential、通信失敗時の挙動、telemetry方針をproduction前に確認してください。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/upstash/ratelimit-js.git - 2
リポジトリへ移動
cd ratelimit-js - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
2,049 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 5
- Open PR
- 5
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- rate-limiting
- redis
- serverless
- upstash
- upstash-ratelimit
- upstash-sdk
- Stars
- 2,049
- Forks
- 51
- Watchers
- 12
- Open Issues
- 4
- Contributors
- 28
- 所有者種別
- Organization
- 主要言語
- TypeScript
- ライセンス
- MIT
- リポジトリ最終更新
- 2026/09/25
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Proxed.AI8 Stars
共通タグ 3件 · 共通カテゴリ 1件 · 同じ言語
iOS clientからAI API keyを切り離しproxy側でsecurity controlを掛ける
TypeScript - Cap7,933 Stars
共通タグ 3件 · 共通カテゴリ 1件
画像認証を使わず、Proof of Workでボット対策をセルフホストする
JavaScript - Heliox-OS66 Stars
共通タグ 3件 · 共通カテゴリ 1件
natural language・voice・gestureから既存OSを操作し、permission・approval・verificationを通して実actionを実行するlocal-first desktop agent
Python - Upstash Redis JS975 Stars
共通タグ 5件 · 共通カテゴリ 1件 · 同じ言語
HTTP/REST経由でRedisへ接続し、Next.jsやEdge/Serverlessから共有状態を扱う
TypeScript - jose7,815 Stars
共通タグ 4件 · 共通カテゴリ 2件 · 同じ言語
JWT・JWS・JWE・JWK/JWKSをWeb標準APIで扱うzero-dependency JOSE library
TypeScript - Ky17,104 Stars
共通タグ 4件 · 共通カテゴリ 1件 · 同じ言語
Fetch APIを薄く拡張し、retry・timeout・hook・JSON処理を短いAPIで扱う
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。