Öffentliche APIs
Jeder API-Schlüssel bekommt ein Limit pro Tarif, mit Bursts für gut erzogene Clients und einem präzisen Retry-After für den Rest.
Atomare, serverseitige Rate Limits. GCRA mit einem Befehl oder benannte Limiter mit Sliding Window, Token Bucket oder Leaky Bucket. Ohne Lua.
10 Anfragen pro Minute für Benutzer 42. Die Antwort nennt die Erlaubnis, das Limit und wie viele noch übrig sind.
Ein animierter Durchlauf mit echten HotKV-Befehlen und Beispielantworten. Klicken Sie auf einen Schritt, um direkt dorthin zu springen. Befehle und Antworten bleiben auf Englisch, genau so, wie Sie sie in HotKV eingeben und sehen.
Eine API ohne Limits ist nur einen fehlerhaften Client von einem Ausfall entfernt. Die Prüfung im Anwendungscode bedeutet einen Lesezugriff, eine Berechnung und einen Schreibzugriff, und gleichzeitige Anfragen schlüpfen durch die Lücken dazwischen. Viele Teams pflegen am Ende ein Lua-Skript, nur um es atomar zu machen.
GCRA.LIMIT entscheidet und speichert in einem Schritt, sodass gleichzeitige Clients nicht beide auf demselben Stand durchkommen, und das Limit füllt sich gleichmäßig wieder auf, statt an Fenstergrenzen zurückgesetzt zu werden. Für Limits, die Sie nach Namen verwalten, richtet RATELIMIT.CREATE einen Limiter mit Sliding Window, Token Bucket oder Leaky Bucket ein, mit Statistiken darüber, was er erlaubt und abgelehnt hat.
10 Anfragen pro Minute für Benutzer 42. Die Antwort nennt die Erlaubnis, das Limit und wie viele noch übrig sind.
GCRA.LIMIT ratelimit:user:42 60000 10Der Scraper verbraucht sein Burst-Kontingent und erfährt dann, wie lange er warten muss. Eine abgelehnte Anfrage ändert nichts.
GCRA.LIMIT ratelimit:bot:7 60000 10Kunden im kostenlosen Tarif bekommen 100 Anfragen pro Minute in einem Sliding Window.
RATELIMIT.CREATE free_plan 100 60000 ALGO sliding_windowEin Export-Endpunkt kostet 20 Einheiten und verbraucht daher mehr vom Kontingent.
RATELIMIT.CHECK free_plan customer:881 COST 20Einstellungen, erfasste Keys und die Summen erlaubter und abgelehnter Anfragen.
RATELIMIT.STATS free_planJeder API-Schlüssel bekommt ein Limit pro Tarif, mit Bursts für gut erzogene Clients und einem präzisen Retry-After für den Rest.
Versuche pro IP und pro Konto werden begrenzt, um Credential Stuffing auszubremsen.
Aufrufe an eine Partner-API oder einen LLM-Anbieter bleiben über jeden Worker der Flotte hinweg unter deren Kontingent.
Gleichmäßiges Auffüllen mit Bursts, atomare Prüfung und Aktualisierung, eine Wartezeit bei Ablehnung.
GCRA.LIMITGCRA.RESETSliding Window, Token Bucket oder Leaky Bucket, einmal angelegt und pro Key geprüft.
RATELIMIT.CREATERATELIMIT.CHECKTeure Aufrufe können als mehrere Anfragen zählen. GCRA.LIMIT nimmt eine Anzahl, RATELIMIT.CHECK einen COST.
COSTSummen erlaubter und abgelehnter Anfragen pro Limiter.
RATELIMIT.STATSNein. Sowohl GCRA.LIMIT als auch RATELIMIT.CHECK führen die gesamte Prüfung als einen atomaren Befehl aus.
GCRA.LIMIT braucht keine Einrichtung und funktioniert in jedem Tarif. Die benannten Limiter von RATELIMIT.* bieten zusätzlich die Wahl des Algorithmus und Statistiken und sind Teil der Tarife Performance und Scale.
Nichts. Ein abgelehnter GCRA-Aufruf lässt den Limiter unverändert, sodass ein Client, der es erneut versucht, nicht zusätzlich bestraft wird.
HotKV spricht das Redis-Protokoll, sodass Sie einen bestehenden Client darauf richten und genau diese Befehle ausführen können.