Operaciones de estado clave-valor
En Proveedor estatal tiene operaciones clave-valor para almacenar el estado.
Nota: Estos ejemplos utilizan vcr.getInstanceState() para el estado compartido por todas las réplicas. Para el estado por conversación, utilice vcr.createSessionWithId(id) con un UUID determinista del contexto de la solicitud (por ejemplo, conversation_uuid de una devolución de llamada de voz). No utilice nunca vcr.createSession() a escala mundial - véase Proveedor estatal: Alcance de la sesión para más detalles.
Establecer un valor
Mediante una clave, puede almacenar un valor para recuperarlo más tarde.
Firma del método
set<T>(key: string, value: T)
Establecer un valor
const state = vcr.getInstanceState();
await state.set("obj", { "foo": bar });
state = vcr.getInstanceState()
await state.set('obj', { 'foo': bar })
Incrementar un valor
Si ha almacenado un número entero, puede incrementarlo en una cantidad especificada.
Firma del método
increment<T>(key: string, count: number)
Incrementar un valor
await state.increment("count", 1);
await state.increment('count', 1)
Disminuir un valor
Si ha almacenado un número entero, puede disminuirlo en una cantidad especificada.
Firma del método
decrement<T>(key: string, count: number)
Disminuir un valor
await state.decrement("count", 1);
await state.decrement('count', 1)
Obtener un valor
Mediante una clave, puede recuperar un valor almacenado previamente.
Firma del método
get<T>(key: string)
Obtener un valor
const object = await state.get("obj");
object = await state.get('obj')
Caducar un valor
Mediante una tecla, puede hacer caducar un valor previamente almacenado tras un número determinado de segundos.
Firma del método
expire(key: string, seconds: number, option?: EXPIRE_OPTION)
Tipos
expire admite un conjunto de opciones(EXPIRE_OPTION):
NX: Establecer caducidad sólo cuando la clave no tiene caducidadXX: Establecer caducidad sólo cuando la clave tiene una caducidad existenteGT: Establecer caducidad sólo cuando la nueva caducidad es mayor que la actual.LT: Fijar caducidad sólo cuando la nueva caducidad sea inferior a la actual.
Expiración de un valor
await state.expire("obj", 200);
await state.expire('obj', 200)
Borrar un valor
Mediante una tecla, puede borrar un valor previamente almacenado.
Firma del método
delete<T>(key: string)
Borrar un valor
await state.delete("obj");
await state.delete('obj')