Schlüssel-Wert-Zustandsoperationen
Die Staatlicher Anbieter verfügt über Schlüssel-Wert-Operationen zur Speicherung des Zustands.
Anmerkung: Diese Beispiele verwenden vcr.getInstanceState() für einen gemeinsamen Status für alle Replikate. Für den Status pro Konversation, verwenden Sie vcr.createSessionWithId(id) mit einer deterministischen UUID aus dem Anfragekontext (z. B., conversation_uuid von einem Sprachrückruf). Verwenden Sie niemals vcr.createSession() auf globaler Ebene - siehe Staatlicher Anbieter: Session-Scoping für Einzelheiten.
Einen Wert festlegen
Mit einem Schlüssel können Sie einen Wert speichern, um ihn später abzurufen.
Methode Unterschrift
set<T>(key: string, value: T)
Einstellen eines Wertes
const state = vcr.getInstanceState();
await state.set("obj", { "foo": bar });
state = vcr.getInstanceState()
await state.set('obj', { 'foo': bar })
Einen Wert inkrementieren
Wenn Sie eine ganze Zahl gespeichert haben, können Sie diese um einen bestimmten Betrag erhöhen.
Methode Unterschrift
increment<T>(key: string, count: number)
Inkrementieren eines Wertes
await state.increment("count", 1);
await state.increment('count', 1)
Wert dekrementieren
Wenn Sie eine ganze Zahl gespeichert haben, können Sie sie um einen bestimmten Betrag dekrementieren.
Methode Unterschrift
decrement<T>(key: string, count: number)
Verringern eines Wertes
await state.decrement("count", 1);
await state.decrement('count', 1)
Einen Wert erhalten
Mit Hilfe eines Schlüssels können Sie einen zuvor gespeicherten Wert abrufen.
Methode Unterschrift
get<T>(key: string)
Einen Wert erhalten
const object = await state.get("obj");
object = await state.get('obj')
Verfall eines Wertes
Mit einem Schlüssel können Sie einen zuvor gespeicherten Wert nach einer bestimmten Anzahl von Sekunden verfallen lassen.
Methode Unterschrift
expire(key: string, seconds: number, option?: EXPIRE_OPTION)
Typen
expire unterstützt eine Reihe von Optionen(EXPIRE_OPTION):
NX: Verfall nur einstellen, wenn der Schlüssel keinen Verfall hatXX: Ablauf nur einstellen, wenn der Schlüssel einen bestehenden Ablauf hatGT: Ablauf nur einstellen, wenn der neue Ablauf größer ist als der aktuelleLT: Ablauf nur einstellen, wenn der neue Ablauf kürzer ist als der aktuelle
Verfall eines Wertes
await state.expire("obj", 200);
await state.expire('obj', 200)
Einen Wert löschen
Mit einem Schlüssel können Sie einen zuvor gespeicherten Wert löschen.
Methode Unterschrift
delete<T>(key: string)
Löschen eines Wertes
await state.delete("obj");
await state.delete('obj')