Aller au contenu principal

Nœuds de cache Nouveauté

Les nœuds de cache stockent une valeur le temps d'un flux, ou plus longtemps, pour la relire ensuite. Le groupe Cache de l'éditeur en contient trois : Écrire dans le cache, Lire depuis le cache et Supprimer du cache.

Paramètres​

ParamètreTypeObligatoireDéfautDescription
AppApp❌—Application associée au nœud.
ConnexionCache managé / Votre propre instance❌Cache managéCache fourni par Apizr, ou votre Redis.
CléTexte✅—Identifie l'entrée. Accepte un template Handlebars. Une clé vide après résolution arrête le nœud.
ValeurTexte❌—Écrire dans le cache seulement. Valeur stockée : template Handlebars, JSON, nombre, booléen, objet ou tableau.
TTL (secondes)Nombre❌Pas de TTLÉcrire dans le cache seulement. Durée de vie. Vide : la clé n'expire pas. Le formulaire le signale.
Chiffrer la valeurBooléen❌DésactivéÉcrire dans le cache seulement. La valeur est chiffrée avant stockage.
Déchiffrer la valeurBooléen❌DésactivéLire depuis le cache seulement. Doit reprendre le réglage utilisé à l'écriture.
Clé de sortieTexte❌cacheResultNom sous lequel le résultat est rangé dans le contexte.
Timeout (secondes)Nombre❌5Durée maximale de l'appel Redis, de 1 à 30 secondes.
Stopper l'exécution du flux en cas d'échecBooléen❌ActivéSur une lecture, une clé absente arrête la branche. Désactivé, le nœud réussit et found vaut false.

Connexion​

  • Cache managé : le cache fourni par la plateforme. Le formulaire indique les quotas : 50 Mo de stockage pour l'ensemble des flux de la société, 256 caractères pour la clé, 64 Ko pour la valeur. Ces quotas ne s'appliquent pas à votre propre instance.
  • Votre propre instance : un Redis à vous.
ChampDéfautDescription
Hôte—Adresse du Redis. Accepte un template Handlebars.
Port6379Port d'écoute.
Activer TLSDésactivéChiffre la connexion.
Méthode d'authentificationUtilisateur / Mot de passeUtilisateur / Mot de passe, ou Identifiants (une méthode d'authentification Ecosystem).

Clé, valeur et TTL​

La clé et la valeur acceptent des templates Handlebars, par exemple {{context.cacheKey}} et {{context.token}}.

Sans TTL, la clé n'expire pas. Le formulaire prévient que les entrées restent alors indéfiniment et peuvent saturer le quota du cache managé.

Le chiffrement est optionnel à l'écriture. La lecture doit utiliser le même réglage : sinon les données ne sont pas déchiffrées.

Clé de sortie​

Le résultat est placé dans le contexte sous la clé de sortie. Par défaut, cacheResult. Depuis un nœud suivant : {{context.cacheResult.value}}.

Entrée​

Écrire une valeur :

{
"context": {
"customerId": "42",
"token": "abc"
}
}

Clé : token:{{context.customerId}}. Valeur : {{context.token}}. TTL : 60.

Sortie​

Écrire dans le cache :

{
"cacheResult": {
"key": "token:42",
"set": true,
"ttlSeconds": 60
}
}

Sans TTL, ttlSeconds vaut null.

Lire depuis le cache, clé présente :

{
"cacheResult": {
"key": "token:42",
"found": true,
"value": "abc"
}
}

Lire depuis le cache, clé absente et Stopper l'exécution du flux en cas d'échec désactivé :

{
"cacheResult": {
"key": "token:42",
"found": false
}
}

Supprimer du cache :

{
"cacheResult": {
"key": "token:42",
"deleted": true
}
}

Erreurs​

  • Une clé qui se résout en chaîne vide arrête le nœud (Workflow cache key resolved to an empty value).
  • Une lecture dont la clé est absente, avec l'arrêt en cas d'échec activé, arrête la branche (Workflow cache key not found).
  • Le dépassement d'un quota du cache managé (taille du stockage, longueur de clé, taille de valeur) fait échouer l'opération.

Limites​

Cache managé, valeurs indiquées dans le formulaire :

  • 50 Mo de stockage pour l'ensemble des flux de la société
  • 256 caractères pour la clé
  • 64 Ko pour la valeur

Le timeout de l'appel Redis va de 1 à 30 secondes, 5 par défaut. Votre propre instance n'est pas soumise à ces quotas.

Exemple​

Un flux reçoit un jeton, l'écrit, puis le relit au tour suivant.

  1. Écrire dans le cache. Clé token:{{context.customerId}}, valeur {{context.token}}, TTL 60, connexion Cache managé.
  2. Lire depuis le cache. Même clé. Le nœud suivant lit {{context.cacheResult.value}}.

Voir aussi​