VENTAS: 1-800-867-1389

Notificaciones para el Servicio de caché administrado de Azure

Actualizado: agosto de 2013

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, defina los tipos de operaciones de caché que desencadenarán una notificación de caché y qué método de la aplicación 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é estándar y premium, y no están disponibles en la oferta básica. Para obtener más información, vea Ofertas de caché para el Servicio de caché administrado de Azure.

Activación de notificaciones de caché

Estas operaciones de caché las definen los miembros de la clase DataCacheOperations.

Operaciones de la región

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é.

Operaciones de elemento

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 la notificación de la devolución de la llamada a una región determinada. Esto se describe en la sección Ámbito de la notificación de este documento.

Ámbito de la notificación

Según sean la actividad y las necesidades de la aplicación, quizá 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 la 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 la misma. 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 notifique de 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 notifique de las operaciones de caché basadas en regiones y elementos que se producen en una región específica.

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

Orden de notificación

El orden de las notificaciones recibidas por el cache client 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 la RegionA (ámbito de notificación del nivel de la región) llegan al cache client en el orden adecuado, unas en relación a las otras. 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 la 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.

Intervalo de sondeo

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 cachés.

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.

Cuando se pierden las notificaciones

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

Cuando se pierde la memoria caché

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 resultar obvio que la pérdida está causada por una notificación de error. Si se elimina toda la caché, el cache client 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 deja 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é.

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é.

Habilitación de las notificaciones de 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 el Servicio de 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.

Uso de notificaciones de caché

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

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft