Invalidación de la caché detallada

Las invalidaciones de caché detalladas en tiempo real se envían desde el conector Push-to-live. La invalidación detallada de la caché permite delimitar la invalidación de la caché a productos o categorías individuales para reconstruir sólo la caché necesaria. Ayuda a minimizar el impacto del tiempo de ejecución en el momento de la invalidación de la caché. Puede crear una plantilla personalizada para la invalidación de productos y categorías. Esto significa que puede establecer la invalidación de la caché de productos y categorías deseada y el lugar al que enviar esta invalidación personalizada.

Estructura de la plantilla personalizada

El formato de plantilla personalizada consta de dos partes, Names:{Variables} donde:
  • Nombres: normalmente los dicta la especificación de memoria caché
  • Variables: las siguientes variables de producto y categoría del procesador:
    • Variables de producto
      Nombre de variable Descripción
      supportedStoreId Obtener la lista de ID de tienda de una entrada de catálogo específica del índice de productos de Elasticsearch.
      partNumber Obtener la partNumber normalizada del elemento específico actualizado.
      parentCategoryId Obtener la lista de la categoría principal a la que pertenece el producto específico.
      skuCatentryId Obtener la lista de entradas de la categoría que contienen productos sku.
      productPartNumber Obtener la partNumber normalizada del elemento específico actualizado en función de su clase:
      • producto = producto partNumber
      • sku = encontrar su producto principal y devolver el partNumber
      .
      catentryId Obtener la entrada de catálogo del elemento específico actualizado.
      productId Obtiener la entrada de catálogo del elemento específico actualizado en función de su clase:
      • producto = funciona igual que el ID de la entrada de catálogo
      • sku = encuentra su producto principal y devuelve el Id de la entrada de catálogo
    • Variables de la categoría
      nombre de variable Descripción
      supportedStoreId Obtener la lista de ID de tienda de un grupo de categorías específico desde el índice de categorías de Elasticsearch.
      categoryId Obtener el ID de un grupo de categorías de una categoría específica.
      childCategoryId Obtener la lista de categorías secundarias de la categoría especificada.

¿Cómo crear una plantilla personalizada?

Este es un ejemplo de la plantilla personalizada. La primera parte es la Name y se puede personalizar con cualquier texto. La segunda parte es la Variables, que tiene que seguir un nombre determinado.
Note: Puede enviar múltiples componentes de plantillas base en una sola invalidación.
storeId:partNumber:{supportedStoreId}:{partNumber}
La plantilla personalizada mencionada anteriormente genera la siguiente invalidación:
storeId:partNumber:1:test_10001
En el caso de una tienda con varios ID, la invalidación se desencadena de la siguiente manera:
storeId:partNumber:1:test_10001
storeId:partNumber:10501:test_10001

¿Cómo crear una plantilla personalizada para las invalidaciones múltiples?

Puede emitir varias plantillas personalizadas en una sola entrada especificando las múltiples plantillas personalizadas. Las plantillas personalizadas se añaden utilizando comas para separar cada plantilla personalizada en una entrada.

Este es un ejemplo de la plantilla personalizada de varias invalidaciones:
storeId:partNumber:{supportedStoreId}:{partNumber};categoryId:{parentCategoryId}
La plantilla personalizada de varias invalidaciones mencionada anteriormente genera la siguiente invalidación:
storeId:partNumber:1:test_10001
categoryId:10001

¿Cómo personalizar la invalidación detallada de la caché?

Una vez creadas las plantillas personalizadas para la invalidación de productos y categorías, utilice el siguiente JSON para personalizar la invalidación detallada de la caché. Para obtener información detallada sobre la personalización de los procesadores y los conectores, consulte Ampliación de los conectores Ingest.
{
    "name": "push-to-live",
    "pipes": [
        {
            "name": "WorkspacePublishing",
            "properties": [
                {
                    "name": "properties.Product Invalidation Template",
                    "value": "storeId:partNumber:{supportedStoreId}:{partNumber}",
                    "scope": {
                        "name": "Workspace Publishing Invalidations.WorkspacePublishInvalidation",
                        "type": "PROCESSOR"
                    }
                },
                {
                    "name": "properties.Category Invalidation Template",
                    "value": "storeId:category:{supportedStoreId}:{categoryId}",
                    "scope": {
                        "name": "Workspace Publishing Invalidations.WorkspacePublishInvalidation",
                        "type": "PROCESSOR"
                    }
                },
                {
                    "name": "properties.Cache Name",
                    "value": "someCache",
                    "scope": {
                        "name": "Workspace Publishing Invalidations.WorkspacePublishInvalidation",
                        "type": "PROCESSOR"
                    }
                }
            ]
        }
    ]
}