VENTAS: 1-800-867-1389

Notificaciones para el Servicio de caché administrado de Azure

Actualizado: septiembre de 2014

noteNota
Si quiere que le guiemos a la hora de elegir la oferta de Caché de Azure que mejor se adapta a su aplicación, consulte ¿Cuál es la oferta de Caché de Azure más adecuada para mí?.

Caché de Microsoft Azure ofrece notificaciones de caché que permiten que las aplicaciones reciban notificaciones asincrónicas cuando tiene lugar una gran variedad de operaciones en una caché con nombre. Las notificaciones de caché también invalidan de forma automática objetos almacenados en memoria caché localmente.

Para recibir notificaciones de caché asincrónicas, agregue una devolución de llamada de notificación de caché a la aplicación. Al agregar la devolución de la llamada, se definen los tipos de operaciones de caché que desencadenarán una notificación de caché y el método de la aplicación que debe llamarse en caso de producirse las operaciones especificadas. Una memoria caché con nombre debe habilitar las notificaciones de caché y suscribirse a ellas.

noteNota
Las notificaciones están disponibles en las ofertas de caché Standard y Premium, y no están disponibles en la oferta Basic. Para obtener más información, vea Ofertas de Caché para el Servicio de caché administrado de Azure.

Los miembros de la clase DataCacheOperations definen estas operaciones de caché.

La aplicación puede recibir notificaciones de caché cuando se producen las siguientes operaciones en una región:

  • CreateRegion: cuando se crea una región en la memoria caché.

  • ClearRegion: cuando se borra una región de la memoria caché.

  • RemoveRegion: cuando se quita una región de la memoria caché.

La aplicación puede recibir notificaciones de caché cuando se producen las siguientes operaciones de caché en un objeto almacenado en caché (un elemento en la memoria caché).

  • AddItem: cuando se agrega un elemento a la memoria caché.

  • ReplaceItem: cuando se reemplaza un elemento en la memoria caché.

  • RemoveItem: cuando se quita un elemento de la memoria caché.

noteNota
Por sí solas, estas operaciones de elemento no dependen de si se producen dentro de una región o no. Puede optar por limitar el ámbito de notificación de la devolución de la llamada a una región determinada. Esto se describe en la sección Ámbito de notificación de este documento.

Según la actividad y las necesidades de la aplicación, es posible que no desee prestar atención a los eventos de cada uno de los objetos y regiones de la memoria caché. Puede limitar el ámbito de las notificaciones desde el nivel de la memoria caché hacia el nivel de la región y el nivel del elemento. El ámbito de notificación que haya seleccionado al agregar una devolución de llamada tiene un impacto determinante en las notificaciones de caché que va a recibir.

En el nivel de caché, la aplicación puede recibir notificaciones de todas las operaciones de caché, de todos los objetos y las regiones de esta. En el nivel de la región, la aplicación recibirá notificaciones solamente de las operaciones de caché de una única región y de los objetos que en ella se encuentran. En el nivel del elemento, la aplicación recibirá solo notificaciones de las operaciones de caché correspondientes a un único objeto.

Para especificar el ámbito de notificación que desea, elija uno de estos tres métodos para agregar una devolución de llamada de notificación de caché:

  • AddCacheLevelCallback: si desea que se le notifiquen las operaciones de caché basadas en regiones y elementos que se producen en todas las regiones y los elementos.

  • AddRegionLevelCallback: si desea que se le notifiquen las operaciones de caché basadas en regiones y elementos que se producen en una región específica.

  • AddItemLevelCallback: si desea que se le notifiquen las operaciones de caché basadas en elementos que se producen en un elemento específico.

El orden de las notificaciones recibidas por el cliente de caché se garantiza en el contexto de una única región. Por ejemplo, supongamos que ha creado una región denominada RegionA. Puesto que todos los datos de una región de caché se limitan a la misma región, todas las operaciones de caché pertenecientes a RegionA (ámbito de notificación del nivel de la región) llegan al cliente de caché en el orden adecuado respecto a su relación. En el caso de operaciones de caché basadas en elementos y regiones que se producen en otros hosts de caché, no se garantiza que lleguen en el orden adecuado en relación con las operaciones que se han producido en RegionA.

Para no provocar perjuicios en el rendimiento, no se puede garantizar el orden de las notificaciones en las que haya implicados más de una región u objetos que no están almacenados en la misma región.

La información de versión de los eventos de elementos, en forma de objeto DataCacheItemVersion, se pasa al método invocado por la notificación de caché con el parámetro version. Este objeto DataCacheItemVersion corresponde a la versión del objeto que desencadenó el evento de elemento. Con el método CompareTo, puede comparar versiones para determinar qué operaciones de caché deben ir en primer lugar.

noteNota
Las comparaciones de versión solo son significativas si se comparan versiones del mismo elemento especificadas con la misma clave. No es posible deducir el orden comparando versiones de distintas claves; el método CompareTo puede devolver un resultado, pero este solo es válido para las versiones con la misma clave.

Si usa notificaciones de caché, la aplicación comprueba la memoria caché a intervalos regulares para detectar si hay nuevas notificaciones disponibles. Este intervalo, denominado intervalo de sondeo, se produce cada 300 segundos de forma predeterminada. Las aplicaciones que escriben con frecuencia podrían establecerlo en un valor menor, pero para las memorias caché que no cambian con frecuencia, es mejor usar un intervalo mayor. El valor predeterminado de 300 segundos es adecuado para la mayoría de las memorias caché.

El intervalo de sondeo se especifica en unidades de segundos en las opciones de configuración de la aplicación. Para especificar un intervalo específico, puede usar el atributo pollInterval del elemento clientNotifications en el archivo de configuración de la aplicación. También puede especificar un intervalo de sondeo específico mediante programación con la propiedad NotificationProperties del objeto DataCacheFactoryConfiguration.

Caché de Microsoft Azure solo puede contener una determinada cantidad de operaciones de caché en memoria. Es posible que algunos clientes de caché no puedan recibir notificaciones antes de que se trunquen en las colas de notificaciones. También es posible que los clientes de caché no reciban notificaciones porque los datos se hayan perdido por un error de caché. En estos casos, el cliente de caché puede descubrir que ha perdido algunas notificaciones de caché mediante una notificación de error. La aplicación puede agregar una devolución de llamada para recibir notificaciones de error mediante el método AddFailureNotificationCallback. Para obtener más información, vea How to: Add a Failure Notification Callback.

Hay una diferencia importante entre la pérdida de notificaciones y la pérdida de la caché. Si la aplicación pierde una o más notificaciones, puede saber de la pérdida por medio de una notificación de error. Si se elimina toda la caché, el cliente de caché producirá excepciones la próxima vez que intente usar la memoria caché porque no podrá conectarse al extremo de la caché. Las notificaciones no informan sobre eventos de caché, como la creación o eliminación de cachés con nombre. Si se elimina una caché con nombre después de registrar notificaciones, simplemente se dejan de recibir notificaciones. No es posible distinguir entre una memoria caché con nombre que no existe y las operaciones que no se realizan en una memoria caché con nombre.

noteNota
Las notificaciones de caché solamente informan de cambios relacionados con los datos de las regiones y los elementos de caché. No informan de eventos de la propia caché.

Las notificaciones se configuran en el nivel de caché con nombre en el Portal de administración, en la ficha Configurar para Caché. El valor predeterminado para las notificaciones es Deshabilitado.

Notificaciones de caché para Servicio de almacenamiento en caché de Windows Azure

No se necesita ninguna opción de configuración de la aplicación para agregar una devolución de llamada para la recepción de notificaciones de caché. Puede usar las opciones de configuración de la aplicación para especificar un intervalo de sondeo específico. De forma predeterminada, el intervalo de sondeo es de 300 segundos. Si desea cambiar esta duración, use el elemento clientNotification del archivo de configuración de aplicación basado en XML o especifique el intervalo deseado por medio de programación con la propiedad NotificationsProperties del objeto DataCacheFactoryConfiguration.

Una vez habilitadas las notificaciones de caché, hay tres tareas relacionadas con el uso de las mismas: la adición de devoluciones de llamada de notificación de caché, la adición de una devolución de llamada de una notificación de error y la eliminación de devoluciones de llamadas de notificaciones de caché. Los procedimientos para cada una de estas tareas se describen en el resto de esta documentación.

Vea también

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios
Mostrar:
© 2015 Microsoft