公開 API
每個 API 金鑰依方案取得一項限制,對行為良好的用戶端容許突發,對其餘的則給出精確的 Retry-After。
原子的伺服器端速率限制。一個指令即可使用 GCRA,或使用具名限制器搭配滑動視窗、權杖桶或漏桶。不需要 Lua。
使用者 42 每分鐘 10 個請求。回覆內容包含允許、上限與剩餘數量。
以真實 HotKV 指令與範例回覆呈現的動畫導覽。點擊任一步驟即可跳到該步驟。 指令與回覆維持英文,與您在 HotKV 中輸入及看到的完全一致。
沒有限制的 API,離中斷只差一個行為不當的用戶端。在應用程式程式碼中做檢查,意味著一次讀取、一次計算與一次寫入,而並行的請求會從它們之間的縫隙溜過去。許多團隊最後只為了讓它具備原子性,而得維護一個 Lua 腳本。
GCRA.LIMIT 在同一步中完成判斷與記錄,因此並行的用戶端不可能依據同一個狀態同時通過,額度也會平順地回補,而不是在視窗邊界重置。對於您依名稱管理的限制,RATELIMIT.CREATE 會設定滑動視窗、權杖桶或漏桶限制器,並附帶允許與拒絕數量的統計。
使用者 42 每分鐘 10 個請求。回覆內容包含允許、上限與剩餘數量。
GCRA.LIMIT ratelimit:user:42 60000 10爬蟲用完它的突發額度後,會被告知需要等待多久。被拒絕的請求不會改變任何狀態。
GCRA.LIMIT ratelimit:bot:7 60000 10免費方案的客戶在滑動視窗上每分鐘可有 100 個請求。
RATELIMIT.CREATE free_plan 100 60000 ALGO sliding_window匯出端點的成本是 20 個單位,因此會消耗更多額度。
RATELIMIT.CHECK free_plan customer:881 COST 20設定、被追蹤的鍵,以及允許與拒絕請求的總數。
RATELIMIT.STATS free_plan每個 API 金鑰依方案取得一項限制,對行為良好的用戶端容許突發,對其餘的則給出精確的 Retry-After。
依 IP 與依帳戶限制嘗試次數,以減緩撞庫攻擊。
讓呼叫夥伴 API 或 LLM 供應商的次數,在整個叢集的所有工作者之間維持在其配額之下。
平順回補並容許突發、原子的檢查與更新,被拒絕時提供重試時間。
GCRA.LIMITGCRA.RESET滑動視窗、權杖桶或漏桶,建立一次後依鍵檢查。
RATELIMIT.CREATERATELIMIT.CHECK昂貴的呼叫可以算作多個請求。GCRA.LIMIT 接受計數,RATELIMIT.CHECK 則接受 COST。
COST依限制器提供允許與拒絕的總數。
RATELIMIT.STATS不需要。GCRA.LIMIT 與 RATELIMIT.CHECK 都以單一原子指令完成整個檢查。
GCRA.LIMIT 不需要任何設定,在每個方案上都能使用。RATELIMIT.* 具名限制器則多了演算法選擇與統計,屬於 Performance 與 Scale 方案。
沒有。被拒絕的 GCRA 呼叫不會改變限制器,因此重試的用戶端不會受到進一步的懲罰。