stringtranslate.com

Almacenamiento en caché de AppFabric

AppFabric Caching proporciona una plataforma de caché distribuida en memoria para Windows Server . [1] Microsoft desarrolló AppFabric Caching y lo lanzó como parte de AppFabric.

Arquitectura

AppFabric Caching almacena objetos administrados serializados en un clúster de caché. El clúster de caché consta de una o más máquinas que agrupan su memoria física disponible. [2] Esta memoria agrupada se presenta a los clientes de caché como una única fuente de memoria de caché. Los objetos se almacenan y se accede a ellos mediante un valor de clave asociado.

Las funciones de AppFabric Caching deben instalarse en cada servidor del clúster de caché. [3] Después de la instalación, se debe utilizar el asistente de configuración de AppFabric para unir cada servidor al clúster de caché. [4] Se requiere una base de datos o un recurso compartido de archivos externo para mantener los ajustes de configuración del clúster de caché. [5] Un conjunto de comandos de Windows PowerShell para almacenamiento en caché proporciona capacidades de administración en el clúster de caché. [6]

Ejemplos de código

Tenga en cuenta que los ejemplos de código de esta sección se muestran en C# .

Una tarea común es crear código que coloque, recupere y elimine objetos del caché. Estas operaciones tienen como objetivo la caché predeterminada o una caché con nombre. [7]

Primero, cree un miembro estático de DataCache [8] :

DataCache estático público _cache ;   

A continuación, cree un método que acceda a este caché. Las propiedades del caché se pueden almacenar en los archivos app.config o web.config. [9] La configuración de la caché también se puede configurar mediante programación. [10] El siguiente ejemplo muestra cómo configurar la caché mediante programación.

DataCache estático público GetCache () { if ( _cache ! = nulo ) return _cache ; // Definir matriz para 1 servidor de caché var servers = new List < DataCacheServerEndpoint > ( 1 ); // Especificar detalles del host de caché // Parámetro 1 = nombre de host // Parámetro 2 = servidores de número de puerto de caché . Agregar ( nuevo DataCacheServerEndpoint ( "mimáquina" , 22233 )); // Crear configuración de caché var configuración = new DataCacheFactoryConfiguration (); // Establecer la configuración de los hosts de caché . Servidores = servidores ; // Establecer propiedades predeterminadas para la configuración del caché local (caché local deshabilitado) . LocalCacheProperties = nuevo DataCacheLocalCacheProperties (); // Deshabilite el seguimiento para evitar mensajes informativos/detallados en la página web DataCacheClientLogManager . ChangeLogLevel ( Sistema . Diagnóstico . TraceLevel . Apagado ); // Pasar los ajustes de configuración al constructor cacheFactory _factory = new DataCacheFactory ( configuración ); // Obtener referencia al caché con nombre llamado "default" _cache = _factory . GetCache ( "predeterminado" ); devolver _caché ; }                                                          

El siguiente método muestra cómo utilizar el objeto _cache para recuperar datos del caché. En este ejemplo, un identificador de usuario ( userId ) es la clave para el objeto de información de usuario asociado. El código primero intenta obtener esta información de usuario del caché usando la clave de ID de usuario . Si eso no tiene éxito, el código recupera la información con una consulta a la base de datos y luego almacena los datos del usuario devueltos en el caché. La próxima vez que se ejecute el mismo código, la información del usuario se devolverá desde la memoria caché en lugar de desde la base de datos. Esto supone que los datos almacenados en caché no han caducado ni han sido desalojados.

tipo de datos GetUserData ( cadena ID de usuario ) { tipo de datos datos = nulo ;        // Intenta recuperar los datos del usuario del caché: objeto dataObject = _cache . Obtener ( ID de usuario );     if ( objeto de datos ! = nulo ) datos = ( tipo de datos ) objeto de datos ; else { // Si no existe en el caché, recupérelo de la base de datos: datos = GetUserDataFromDatabase ( "SELECT * FROM usuarios DONDE userid = @userId" , userId );              // Coloca los datos devueltos en el caché para futuras solicitudes: _cache . Agregar ( ID de usuario , datos ); }    datos de retorno ; } 

El siguiente método muestra cómo actualizar datos que ya están en el caché.

void UpdateUserData ( string userId , dataType data ) { // Actualiza la información del usuario en la base de datos: resultado = UpdateUserDataInDatabase ( userId , data ); if ( resultado ) { // Si se actualiza correctamente, actualice el caché: _cache . Poner ( ID de usuario , datos ); } }                   

La siguiente llamada elimina el elemento del caché.

_caché . Eliminar ( ID de usuario );

Historia

Originalmente, AppFabric Caching tuvo varias versiones beta con el nombre clave Velocity . [11] En junio de 2010, Microsoft lanzó oficialmente AppFabric Caching como parte de AppFabric. [12] Para obtener información más detallada, consulte la sección de historial de la página de AppFabric.

Tecnologías de almacenamiento en caché relacionadas

AppFabric Caching está relacionado con otras tecnologías de almacenamiento en caché de Microsoft. Estas tecnologías comparten características similares, como el nombre del ensamblado, el espacio de nombres y los tipos. [13] Sin embargo, existen algunas diferencias. La siguiente tabla describe estas tecnologías.

Referencias

  1. ^ "Funciones de almacenamiento en caché de AppFabric 1.1". Biblioteca MSDN . Microsoft. 12 de septiembre de 2012 . Consultado el 13 de febrero de 2013 .
  2. ^ "Diagrama de arquitectura física de almacenamiento en caché de AppFabric". Biblioteca MSDN . Microsoft. 12 de septiembre de 2012 . Consultado el 13 de febrero de 2013 .
  3. ^ "Instalación y configuración de AppFabric". Biblioteca MSDN . Microsoft. 26 de octubre de 2012 . Consultado el 13 de febrero de 2013 .
  4. ^ "Configurar AppFabric". Biblioteca MSDN . Microsoft. 12 de septiembre de 2012 . Consultado el 13 de febrero de 2013 .
  5. ^ "Opciones de almacenamiento de configuración de clúster". Biblioteca MSDN . Microsoft. 12 de septiembre de 2012 . Consultado el 13 de febrero de 2013 .
  6. ^ "Uso de Windows PowerShell para administrar las funciones de almacenamiento en caché de AppFabric 1.1". Biblioteca MSDN . Microsoft. 12 de septiembre de 2012 . Consultado el 13 de febrero de 2013 .
  7. ^ "Diagrama de arquitectura lógica de almacenamiento en caché de AppFabric". Biblioteca MSDN . Microsoft. 12 de septiembre de 2012 . Consultado el 13 de febrero de 2013 .
  8. ^ "Clase de caché de datos". Biblioteca MSDN . Microsoft . Consultado el 13 de febrero de 2013 .
  9. ^ "Configuración de cliente basada en XML". Biblioteca MSDN . Microsoft. 12 de septiembre de 2012 . Consultado el 13 de febrero de 2013 .
  10. ^ "Configuración del cliente programático". Biblioteca MSDN . Microsoft. 12 de septiembre de 2012 . Consultado el 13 de febrero de 2013 .
  11. ^ "Cree mejores aplicaciones basadas en datos con almacenamiento en caché distribuido". Revista MSDN . Microsoft . Consultado el 13 de febrero de 2013 .
  12. ^ "Microsoft ofrece la versión candidata de Windows Server AppFabric, versión Beta de BizTalk Server 2010". Centro de noticias de Microsoft . Microsoft . Consultado el 13 de febrero de 2013 .
  13. ^ "Diferencias entre el almacenamiento en caché local y en la nube". Biblioteca MSDN . Microsoft . Consultado el 13 de febrero de 2013 .

Enlaces externos