Clientes de caché y caché local (Almacenamiento en caché de Windows Server AppFabric)

Cuando se usan las características de almacenamiento en caché de Windows Server AppFabric, la aplicación usa el objeto DataCache para almacenar datos en la memoria caché. Este objeto se denomina cliente de caché. Para crear un cliente de caché que use la memoria caché predeterminada, use el método GetDefaultCache. Para crear un cliente de caché que use una memoria caché con nombre, use el método GetCache.

Nota

Para evitar problemas de rendimiento, recomendamos minimizar el número de objetos DataCacheFactory creados por aplicaciones habilitadas para caché. Almacene el objeto DataCacheFactory en una variable que esté disponible para todas las partes de la aplicación que usen clientes de caché.

Consideraciones de seguridad

Recomendamos encarecidamente que proteja los archivos de configuración de la aplicación basada en XML usados para especificar el cliente de caché. Los nombres de los equipos de los hosts de caché se especifican en este archivo. Sin embargo, para que otro cliente pueda obtener acceso realmente al clúster de caché, requeriría permisos para obtener acceso al clúster de caché.

Caché local

El servidor almacena objetos en la memoria caché de forma serializada. Cuando un cliente de caché solicita un objeto de la memoria caché, el servidor lo envía al cliente a través de la red. A continuación, el cliente de caché deserializa el objeto para su uso en la aplicación cliente. Para acelerar el proceso de recuperación de un objeto, habilite la memoria caché local. Para obtener más información sobre la habilitación de la memoria caché local, vea Habilitación de la memoria caché local de Windows Server AppFabric o Habilitación de la memoria caché local de Windows Server AppFabric (XML).

Cuando la memoria caché local está habilitada, el cliente de caché almacena una referencia al objeto de forma local. Esto mantiene el objeto activo en la memoria de la aplicación cliente. Cuando la aplicación solicita un objeto, el cliente de caché comprueba primero si el objeto se encuentra en la memoria caché local. En caso afirmativo, la referencia al objeto se devuelve inmediatamente, sin contactar con el servidor. Si no existe, el objeto se recupera desde el servidor. A continuación, el cliente de caché deserializa el objeto y almacena la referencia de este nuevo objeto recuperado en la memoria caché local. La aplicación cliente usa ese mismo objeto.

La duración de un objeto en la memoria caché local depende de varios factores, como el número máximo de objetos en la memoria caché local y la política de invalidación. Hay dos tipos de invalidación de la memoria caché local: invalidación basada en tiempo de espera e invalidación basada en notificación. Para obtener más información, vea Caducidad y expulsión (Almacenamiento en caché de Windows Server AppFabric).

TipSugerencia
Una vez se han almacenado los objetos en la memoria caché local, la aplicación sigue usando estos objetos hasta que se invaliden, independientemente de si otro cliente los ha actualizado en el clúster de caché o no. Por esta razón, es mejor usar la memoria caché local para datos que no se modifican con frecuencia.

Coherencia de los objetos

Los objetos en caché local se almacenan dentro del mismo espacio de proceso que el proceso del cliente de caché. Cuando un cliente de caché solicita un objeto almacenado en caché localmente, el cliente recibe una referencia a ese objeto, en lugar de una copia. Es algo importante a tener en cuenta para las aplicaciones multiproceso, que podrían estar modificando el mismo objeto almacenado en caché localmente desde múltiples procesos. Estas aplicaciones pueden usar las técnicas de codificación estándar de .NET Framework para sincronizar los cambios en objetos desde múltiples procesos. También se pueden crear objetos DataCacheFactory independientes para cada proceso. Sin embargo, debe realizarse juiciosamente, ya que el trabajo adicional para crear varias fábricas de caché puede reducir los beneficios.

Vea también

Conceptos

Diagrama de la arquitectura física de almacenamiento en caché de Windows Server AppFabric
Diagrama de la arquitectura lógica de almacenamiento en caché de Windows Server AppFabric
Caducidad y expulsión (Almacenamiento en caché de Windows Server AppFabric)
Habilitación de la memoria caché local de Windows Server AppFabric
Habilitación de la memoria caché local de Windows Server AppFabric (XML)
Desarrollo de un cliente de caché (Almacenamiento en caché de Windows Server AppFabric)

  2011-12-05