Veo que muchos de los modelos en Magento 2 se implementan Magento\Framework\DataObject\IdentityInterface.
Esta interfaz tiene un único método llamado getIdentities
Las implementaciones del método generalmente regresan return [self::CACHE_TAG . '_' . $this->getId()];.
Un ejemplo se puede encontrar aquí
¿Para qué se usa esto?
magento2
model
magento-2.0
interface
Marius
fuente
fuente

dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.phparchivo, por lo que tal vez esté destinada a eliminarse más adelante.vendor/magento/module-page-cache/Controller/Block/Esi.phpgetIdentitiesmétodo se llama en una clase de bloque en este caso, el OP pregunta por las clases de modelosRespuestas:
Por lo que entendí, esto es una especie de equivalencia del
getCacheTagsmétodo de Magento 1.Las
getIdentitiesclases de modelo from se utilizan en cada clase de bloque que hace referencia a este modelo.Ok, tomemos
/Magento/Catalog/Model/Category.php:Este método se hace referencia en
/Magento/Catalog/Block/Category/View.php:En M2, ahora debe declarar la etiqueta de caché con el
getIdentitiesmétodo a nivel de modelo, luego puede usarla en bloques que hagan referencia a esos modelos.Si marca cada bloque que implementa el
getIdentitiesmétodo, todos hacen referencia a ungetIdentitiesmétodo de modelo correspondiente o una etiqueta de caché de modelo correspondiente, como\Magento\Catalog\Model\Product::CACHE_TAGLuego, esos
getIdentitiesmétodos de bloque se utilizan en Varnish por razones de almacenamiento en caché como lo menciona Matthéo para establecer elX-Magento-Tagsencabezado.Este encabezado se usa
Magento/Framework/App/PageCache/Kernel.phpen elprocess()método para guardar el caché:fuente
A juzgar por el
Magento\Framework\DataObject\IdentityInterfacecomentario de la clase , se usa para la memoria caché y crea una ID de entidad única que se usa en los encabezados Varnish ESI en lavendor/magento/module-page-cache/Controller/Block/Esi.phplínea 28.fuente
IdentityInterface obligará a la clase Model a definir el método getIdentities () que devolverá una identificación única para el modelo. Solo debe usar esta interfaz si su modelo requirió una actualización de caché después de la operación de la base de datos y mostrar información en la página de la interfaz.
fuente