Administración de memorias caché
Una vez que el clúster de caché de Microsoft AppFabric 1.1 para Windows Server está en ejecución, el enfoque pasa a la administración de las memorias caché individuales en el clúster de caché. En esta sección se proporcionan ejemplos de cómo usar los comandos de Windows PowerShell para llevar a cabo funciones habituales de administración de caché. Para ver una lista exhaustiva de comandos de administración de caché, vea Uso de Windows PowerShell con el almacenamiento en caché de AppFabric.
Crear una memoria caché nueva
El siguiente ejemplo usa el comando New-Cache
para crear una nueva memoria caché denominada Cache1
. Para todos los valores de configuración de caché se usan valores predeterminados.
New-Cache Cache1
En el siguiente ejemplo se crea una nueva memoria caché denominada Cache2
. En este ejemplo se establece el parámetro Secondaries
como 1
, lo cual habilita la alta disponibilidad para esta memoria caché. Tenga en cuenta que esto requiere que todos los hosts de caché ejecuten las ediciones Enterprise o Datacenter de Windows Server. En este ejemplo también se habilitan las notificaciones configurando el parámetro NotificationsEnabled
en "true"
. Para obtener más información acerca de estas características de Almacenamiento en caché de AppFabric, consulte Conceptos de almacenamiento en caché.
New-Cache Cache2 -Secondaries 1 -NotificationsEnabled "true"
Tenga en cuenta que los nombres de caché normalmente distinguen entre mayúsculas y minúsculas. La excepción a esta regla es cuando el almacén de configuración de caché usa SQL Server con una base de datos que usa una intercalación que no distinga entre mayúsculas y minúsculas.
Hay un límite de 128 cachés con nombre. Si requiere más de 128 cachés, las aplicaciones cliente podrían considerar el uso de regiones. Una aplicación cliente puede crear una región con el método CreateRegion de la clase DataCache. Si tiene varias regiones en una única memoria caché, las claves de caché que tengan los mismos nombres en diferentes regiones seguirán siendo únicas. Esto afecta al diseño de las aplicaciones. En consecuencia, es importante comunicar este límite de caché a los equipos de desarrollo.
Lista de cachés y regiones
El comando Get-Cache
muestra una lista de todas las memorias caché en el clúster de caché y sus regiones.
Get-Cache
En el clúster de caché activo, AppFabric crea regiones predeterminadas. Según crece la memoria caché, el número de estas regiones predeterminadas también lo hace. Las aplicaciones también pueden crear sus propias regiones. Si únicamente está interesado en ver los nombres de caché sin la información de región, puede establecer el parámetro MaxRegions
en 0
. En el siguiente ejemplo se demuestra esta técnica.
Get-Cache -MaxRegions 0
También puede ver información de caché acerca de un host de caché específico. Aunque se puede distribuir una única caché entre varios hosts, las regiones de dicha caché pueden diferir de un hosts a otro. El siguiente comando muestra toda la información de caché para un host de caché denominado CacheServer1
con un puerto de caché 22233
. En este ejemplo se limita MaxRegionsPerCache
a 10
.
Get-Cache -HostName CacheServer1 -CachePort 22233 -MaxRegionsPerCache 10
Aunque Get-Cache
muestra información de región, también puede ver información de región con el comando Get-CacheRegion
. El siguiente comando muestra 10 regiones por host de caché en el clúster.
Get-CacheRegion -MaxRegionsPerHost 10
Quitar una caché
El comando Remove-Cache
quita una memoria caché del clúster de caché.
Remove-Cache Cache1
Ver los valores de configuración de la memoria caché
Para ver la configuración actual para una memoria caché, use el comando Get-CacheConfig
.
Get-CacheConfig Cache1
En el ejemplo anterior, el comando Get-CacheConfig
muestra los valores de configuración de la memoria caché para Cache1
. A continuación se proporciona un ejemplo de la salida de este comando.
CacheName : Cache1
TimeToLive : 10 mins
CacheType : Partitioned
Secondaries : 0
IsExpirable : True
EvictionType : LRU
NotificationsEnabled : False
En la siguiente tabla se proporciona más información acerca de cada uno de estos valores de configuración.
Opción | Descripción |
---|---|
CacheName |
Nombre de la memoria caché. |
TimeToLive |
Tiempo predeterminado que residen los elementos en la memoria caché antes de expirar. |
CacheType |
Tipo de caché. Siempre es |
Secondaries |
El valor |
IsExpirable |
Indica si los objetos de la memoria caché pueden expirar. |
EvictionType |
Especifica el tipo de expulsión Usados menos recientemente ( |
NotificationsEnabled |
Indica si las notificaciones están habilitadas para esta memoria caché. |
Para obtener más información acerca de estas características de la memoria caché, vea Caducidad y expulsión, Alta disponibilidad y Notificaciones de caché.
Cambiar los valores de configuración de la memoria caché
En ocasiones, es posible que desee cambiar los valores de configuración de una caché existente. Existen dos procesos disponibles:
Quitar la memoria caché con el comando
Remove-Cache
y volver a crear la memoria caché con la configuración requerida con el comandoNew-Cache
.Usar el comando
Set-CacheConfig
.
Por ejemplo, en el ejemplo anterior, un desarrollador decide usar notificaciones de caché para la memoria caché Cache1
. Aunque cambie su código para usar notificaciones, la aplicación fallará si las notificaciones no están habilitadas para la memoria caché Cache1
. Puede decidir quitar y volver a crear la memoria caché con la configuración deseada.
Remove-Cache Cache1
El ejemplo anterior quita Cache1
. Deberá esperar varios minutos mientras se elimina la memoria caché antes de volver a crearla. Si trata de volver a crear la memoria caché demasiado pronto, recibirá un mensaje que le indica que la eliminación de la memoria caché está en curso. Después de esta pausa, podrá volver a crear la memoria caché, especificando que las notificaciones están habilitadas.
New-Cache Cache1 -NotificationsEnabled True
Al usar este método, debe mirar atentamente los valores de configuración con el comando Get-CacheConfig
. También deberá especificar los valores de configuración que no sean predeterminados para la memoria caché vuelta a crear además de los valores que desee cambiar.
También puede usar el comando Set-CacheConfig
. La ventaja de este comando es que conserva los demás valores de configuración y solo cambia los que especifique. Este comando requiere detener el clúster de caché.
Stop-CacheCluster
Set-CacheConfig Cache1 -NotificationsEnabled True
Start-CacheCluster
Con ambas técnicas se quitarán todos los datos de la memoria caché y esta dejará de estar disponible durante un breve lapso de tiempo. En consecuencia, estos cambios deben realizarse durante una ventana de mantenimiento. Si es posible, las aplicaciones deben diseñarse para su ejecución cuando la memoria caché esté inactiva durante breves períodos de tiempo. Tenga en cuenta además que, para algunos cambios tales como NotificationsEnabled
, las aplicaciones cliente no reflejan los cambios de configuración de manera automática, sino que deben crear un nuevo DataCacheFactory y llamar a GetCache en la memoria caché para reflejar los cambios en la configuración de la memoria caché. Un sencillo modo de hacerlo es reiniciar las aplicaciones cliente.
Vea también
Conceptos
2012-03-05