Operações de estado do tipo chave-valor
O Prestador estatal possui operações de chave-valor para armazenar o estado.
Observação: Esses exemplos utilizam vcr.getInstanceState() para o estado compartilhado entre todas as réplicas. Para o estado por conversa, use vcr.createSessionWithId(id) com um UUID determinístico do contexto da solicitação (por exemplo, conversation_uuid de um retorno de chamada de voz). Nunca use vcr.createSession() em âmbito global — veja Provedor de estado: escopo da sessão para mais detalhes.
Definir um valor
Usando uma chave, é possível armazenar um valor para recuperá-lo posteriormente.
Assinatura do método
set<T>(key: string, value: T)
Definindo um valor
const state = vcr.getInstanceState();
await state.set("obj", { "foo": bar });
state = vcr.getInstanceState()
await state.set('obj', { 'foo': bar })
Incrementar um valor
Se você tiver armazenado um número inteiro, poderá incrementá-lo em um valor especificado.
Assinatura do método
increment<T>(key: string, count: number)
Incrementar um valor
await state.increment("count", 1);
await state.increment('count', 1)
Diminuir um valor
Se você tiver armazenado um número inteiro, poderá diminuí-lo em um valor especificado.
Assinatura do método
decrement<T>(key: string, count: number)
Diminuir um valor
await state.decrement("count", 1);
await state.decrement('count', 1)
Obter um valor
Usando uma chave, é possível recuperar um valor armazenado anteriormente.
Assinatura do método
get<T>(key: string)
Obtendo um valor
const object = await state.get("obj");
object = await state.get('obj')
Expirar um valor
Usando uma chave, é possível fazer com que um valor armazenado anteriormente expire após um número especificado de segundos.
Assinatura do método
expire(key: string, seconds: number, option?: EXPIRE_OPTION)
Tipos
expire oferece um conjunto de opções (EXPIRE_OPTION):
NX: Definir prazo de validade somente quando a chave não tiver prazo de validadeXX: Definir a data de validade somente quando a chave já tiver uma data de validade definidaGT: Definir a data de validade somente quando a nova data for posterior à atualLT: Definir a data de validade somente quando a nova data for anterior à atual
Expirar um valor
await state.expire("obj", 200);
await state.expire('obj', 200)
Excluir um valor
Usando uma chave, é possível excluir um valor armazenado anteriormente.
Assinatura do método
delete<T>(key: string)
Exclusão de um valor
await state.delete("obj");
await state.delete('obj')