Encuentra la respuesta que buscas

Nodo Caché

Este nodo es parte de la categoría de nodos Aivo y permite el almacenamiento de datos temporales en la memoria caché, para poder recuperarlos posteriormente, en cualquier punto de la integración. Es decir, los datos almacenados persisten a un flujo y continúan disponibles una vez alcanzado el step close.   

Adicionalmente se puede configurar para que los valores almacenados sean específicos de una sesión o compartidos por todas las sesiones.  

▶En el video te contamos los parámetros para configurarlo:  


➡ Descarga el flujo con los ejemplos en este link. 

Debajo encuentra la descripción de los campos que utilizarás en el proceso, como mostramos en el video 👇

  1. Name: nombre personalizado que se da al nodo y será visible desde el workspace de Studio.
  2. Key (Obligatorio): nombre de la clave que se guardará en la caché y luego será utilizada para recuperar el valor guardado.

     ℹ Este campo admite la sintaxis {{varExample}}, que se utiliza para acceder a propiedades del objeto MSG, por ejemplo, msg.varExample.

  3. Global: seleccionarás false para indicar que el valor guardado sea exclusivamente vinculado solo a la sesión específica de un usuario y true si se requiere guardar el valor de forma global para todas las sesiones existentes en la instancia. 
  4. Method: lista los 4 métodos utilizados para las operaciones en caché ➡GET/ SET/INCREMENT/ DELETE.
    1. GET: se utiliza para acceder a la información guardada en caché.

      ℹ Si este valor no existe, se devolverá “null”.
      ℹ Si el dato que se desea recuperar fue guardado previamente con el parámetro Global seleccionando:

      1. True:  estará disponible para todas las sesiones, como si fuera un caché público del bot
      2. False: estará disponible solo en la sesión en la que se grabó el cache, como cache particular de la sesión 
      1. Output: nombre de la variable donde se alojará el valor recuperado de la caché, puede ser una variable existente o nueva. 
      2. Decrypt: desencripta los datos alojados en caché que han sido previamente encriptados.  
    2. SET: sirve para guardar información en caché, bajo el uso de una clave, para recuperarlo posteriormente. 
      1. Input: nombre de la variable de msg, string o JSON a guardar en caché.
      2. Expires: indica la cantidad de tiempo en minutos que los datos durarán almacenados en caché. De forma predeterminada, los datos se almacenan durante 60 minutos. El tiempo puede ser, como mínimo un minuto y como máximo 1440 minutos, que equivalen a un día.  
      3. Encrypt: encripta los datos que se quieren almacenar en caché. Si ciframos el dato almacenado, deberemos activar el decrypt para poderlo leer. Es decir, si guardas un dato y colocas encrypt, luego para recuperarlo debes hacer el proceso inverso. La diferencia es que internamente el dato se guarda en la caché de forma ilegible, encriptada.
    3. INCREMENT: se aplica como un contador, con cada ejecución el valor se incrementa en 1 (uno), si la variable no existe previo al ingreso del nodo, se inicializará con el valor 1. En este método, se completa el Output, como en GET. 
    4. DELETE: se implementa para borrar la clave y el valor almacenado (previamente guardados con el nodo caché), a partir de una clave especificada en el campo Key. 
      ℹ Cuando un dato alojado en caché expira, o bien es eliminado, su valor se vuelve “null”.
      ℹ Si el dato fue guardado con la variable Global en True, es requerido que el nodo que se configure con el método DELETE, tenga dicha propiedad de la misma manera. El mismo concepto aplica para el caso en el que al momento de haber realizado el guardado del dato, la propiedad Global se haya establecido en False.

✅Datos clave:

  1. Para el correcto funcionamiento de este nodo,
    1. No se debe borrar o cambiar la propiedad: msg._studio.
    2. El agentbot user id debe estar almacenado en la propiedad msg._studio.sessionId. ➡Toda configuración preexistente de id de sesión continuará funcionando sin inconvenientes.
  2. Cuando le indicamos al nodo que tome el dato que se desea guardar, de una variable del objeto MSG, en caso de que dicho dato sea = vacío, nulo o no definido, también se visualizará un warning en la consola de debug con la siguiente estructura: “Warning: {{msg property name}} maybe empty or undefined.“ 

undefined

           c. Para cualquiera de los métodos disponibles a seleccionar en el nodo (GET, DELETE, INCREMENT y SET), en caso de que la configuración del parámetro “Global“ sea “False“, si no existe el agentbot user id cuando el nodo reciba la petición, se mostrará en la ventana de debug de Studio el mensaje de warning "The agentbot user id is not present in the msg object and global is false. Stored data may be unreachable". En este escenario, la variable se guardará, pero de manera “Global “y se deberá recuperar el dato del mismo modo (“Global“).

undefined

            d. Si utilizas el nodo caché, en conjunto con un nodo http in, deberás colocar el ID de forma manual. En este caso puedes hacerlo sobre una de estas propiedades en el siguiente orden de precedencia:

  1. msg._studio.sessionId
  2. msg.payload.agentbot_user.id
  3. msg.payload.id
📝 Todos los nodos caché que ya se encuentren configurados continuarán funcionando con normalidad y sobre los nuevos nodos caché que configures no necesitarás realizar ninguna acción, ni siquiera cuando uses un nodo de http request o cualquier otro que reescriba el payload. 


Este sitio web almacena cookies en tu computadora. Estas cookies se utilizan para recopilar información sobre cómo interactúas con nuestro sitio web y nos permite recordarte. Utilizamos esta información para mejorar y personalizar tu experiencia de navegación y para obtener estadísticas y métricas sobre nuestros visitantes tanto en este sitio web como en otros medios. Para obtener más información sobre las cookies que utilizamos, consulta nuestra Política de privacidad.

Si rechazas, tu información no será rastreada cuando visites este sitio web. Se usará una sola cookie en tu navegador para recordar tu preferencia de no ser rastreado.