Opérations sur les états clé-valeur
Les Fournisseur de l'État dispose d'opérations clé-valeur pour le stockage de l'état.
Remarque : Ces exemples utilisent vcr.getInstanceState() pour les états partagés entre toutes les répliques. Pour un état par conversation, utilisez vcr.createSessionWithId(id) avec un UUID déterministe provenant du contexte de la demande (par exemple, conversation_uuid d'un rappel vocal). Ne jamais utiliser vcr.createSession() à l'échelle mondiale - voir Fournisseur d'Etat : Définition du champ d'application de la session pour plus de détails.
Fixer une valeur
En utilisant une clé, vous pouvez stocker une valeur pour la retrouver plus tard.
Signature de la méthode
Définition d'une valeur
state = vcr.getInstanceState()
await state.set('obj', { 'foo': bar })
Incrémenter une valeur
Si vous avez stocké un nombre entier, vous pouvez l'incrémenter d'une valeur spécifiée.
Signature de la méthode
Incrémenter une valeur
await state.increment('count', 1)
Diminuer une valeur
Si vous avez stocké un nombre entier, vous pouvez le décrémenter d'un montant spécifié.
Signature de la méthode
Diminution d'une valeur
await state.decrement('count', 1)
Obtenir une valeur
À l'aide d'une clé, vous pouvez récupérer une valeur précédemment stockée.
Signature de la méthode
Obtenir une valeur
object = await state.get('obj')
Expirer une valeur
À l'aide d'une clé, vous pouvez faire expirer une valeur précédemment enregistrée après un nombre de secondes spécifié.
Signature de la méthode
Les types
expire prend en charge une série d'options (EXPIRE_OPTION) :
NX: Fixer l'expiration uniquement lorsque la clé n'a pas d'expirationXX: Fixer l'expiration uniquement lorsque la clé a une expiration existanteGT: Fixer l'échéance uniquement lorsque la nouvelle échéance est supérieure à l'échéance actuelle.LT: Fixer l'échéance uniquement lorsque la nouvelle échéance est inférieure à l'échéance actuelle.
Expiration d'une valeur
await state.expire('obj', 200)
Supprimer une valeur
Une touche permet d'effacer une valeur précédemment enregistrée.
Signature de la méthode
Suppression d'une valeur
await state.delete('obj')