Operaciones de estado clave-valor
El Proveedor estatal cuenta con operaciones de 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 información.
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 has almacenado un número entero, puedes incrementarlo en una cantidad determinada.
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 clave, puedes hacer que un valor almacenado previamente caduque 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 la fecha de caducidad solo cuando la clave ya tenga una fecha de caducidadGT: Establecer caducidad sólo cuando la nueva caducidad es mayor que la actual.LT: Establecer la fecha de caducidad solo cuando la nueva fecha sea anterior a la actual
Expiración de un valor
await state.expire("obj", 200);
await state.expire('obj', 200)
Eliminar un valor
Con una clave, puedes borrar un valor almacenado anteriormente.
Firma del método
delete<T>(key: string)
Borrar un valor
await state.delete("obj");
await state.delete('obj')