Gestione delle cache (Memorizzazione nella cache di Windows Server AppFabric)

Quando il cluster di cache di Windows Server AppFabric è in esecuzione, lo stato attivo passa alla gestione delle singole cache sul cluster di cache. In questa sezione vengono forniti alcuni esempi su come utilizzare i comandi di Windows PowerShell per eseguire funzioni comuni di gestione della cache. Per un elenco completo dei comandi di gestione della cache, vedere Utilizzo di Windows PowerShell per la gestione delle funzionalità di Memorizzazione nella cache di Windows Server AppFabric.

Creazione di una nuova cache

Nell'esempio seguente viene utilizzato il comando New-Cache per creare una nuova cache denominata Cache1. Per tutte le impostazioni di configurazione della cache verranno utilizzati i valori predefiniti.

New-Cache Cache1

Nell'esempio seguente viene creata una nuova cache denominata Cache2. In questo esempio, il parametro Secondaries viene impostato su 1, in modo da abilitare la disponibilità elevata per questa cache. Si noti che ciò richiede che tutti gli host della cache eseguano le edizioni Enterprise o DataCenter di Windows Server. In questo esempio vengono inoltre attivate le notifiche mediante l'impostazione del parametro NotificationsEnabled su "true". Per ulteriori informazioni sulle funzioni di memorizzazione nella cache di AppFabric, vedere Concetti di memorizzazione nella cache di AppFabric.

New-Cache Cache2 -Secondaries 1 -NotificationsEnabled "true"

Si osservi che per i nomi della cache viene generalmente fatta distinzione tra maiuscole e minuscole. L'eccezione a questa regola si ha quando l'archivio di configurazione della cache utilizza SQL Server con un database che utilizza regole di confronto senza distinzione tra maiuscole e minuscole.

Le cache denominate possono essere massimo 128. Se sono necessarie più di 128 cache, le applicazioni client potrebbero considerare l'utilizzo di regioni. Un'applicazione client può creare una regione con il metodo CreateRegion della classe DataCache. È possibile disporre di più regioni in un'unica cache; le chiavi della cache aventi lo stesso nome, ma che risiedono in regioni diverse, sono comunque uniche. Ciò influisce sulla progettazione delle applicazioni. Di conseguenza, è importante comunicare questo limite della cache ai team di sviluppo.

Elenco di cache e regioni

Il comando Get-Cache consente di elencare tutte le cache sul cluster di cache e le relative regioni.

Get-Cache

In un cluster di cache attivo, le regioni predefinite vengono create da AppFabric. Con l'aumentare delle dimensioni della cache, aumenta anche il numero delle regioni predefinite. Anche le applicazioni sono in grado di creare le proprie regioni. Se si è interessati esclusivamente a visualizzare i nomi delle cache senza le informazioni sulla regione, è possibile impostare il parametro MaxRegions su 0. Nell'esempio seguente viene dimostrata questa tecnica.

Get-Cache -MaxRegions 0

È anche possibile visualizzare le informazioni sulla cache relative a uno specifico host della cache. Benché sia possibile distribuire un'unica cache su più host, le regioni presenti in tale cache possono differire da un host all'altro. Il comando seguente mostra tutte le informazioni sulla cache per un host di cache denominato CacheServer1 con porta della cache 22233. Questo esempio limita MaxRegionsPerCache a 10.

Get-Cache -HostName CacheServer1 -CachePort 22233 -MaxRegionsPerCache 10

Benché il parametro Get-Cache consenta di visualizzare le informazioni sulla regione, è possibile visualizzarle anche con il comando Get-CacheRegion. Il comando seguente consente di visualizzare 10 regioni per ogni host della cache nel cluster.

Get-CacheRegion -MaxRegionsPerHost 10

Rimozione di una cache

Il comando Remove-Cache rimuove una cache dal cluster di cache.

Remove-Cache Cache1

Visualizzazione delle impostazioni di configurazione della cache

Per visualizzare le impostazioni correnti per una cache, utilizzare il comando Get-CacheConfig.

Get-CacheConfig Cache1

Nell'esempio precedente, il comando Get-CacheConfig consentiva di visualizzare le impostazioni di configurazione della cache per Cache1. Ecco un esempio dell'output di tale comando.

CacheName            : Cache1
TimeToLive           : 10 mins
CacheType            : Partitioned
Secondaries          : 0
IsExpirable          : True
EvictionType         : LRU
NotificationsEnabled : False

Nella tabella seguente sono incluse ulteriori informazioni su ciascuna di queste impostazioni.

 

Impostazione Descrizione

CacheName

Nome della cache.

TimeToLive

Intervallo di tempo predefinito durante il quale gli elementi risiedono nella cache prima della scadenza.

CacheType

Tipo di cache. È sempre Partitioned.

Secondaries

Il valore 1 indica che la cache utilizza la funzionalità di disponibilità elevata.

IsExpirable

Indica se gli oggetti nella cache hanno una scadenza.

EvictionType

Specifica un tipo di rimozione degli oggetti utilizzati meno di recente (LRU) o None.

NotificationsEnabled

Indica se le notifiche sono abilitate per questa cache.

Per ulteriori informazioni su queste funzionalità della cache, vedere Scadenza e rimozione, Disponibilità elevata e Notifiche cache.

Modifica delle impostazioni di configurazione della cache

A volte, può essere opportuno modificare le impostazioni di configurazione di una cache esistente. Sono disponibili due procedimenti:

  • Rimuovere la cache con il comando Remove-Cache e creare di nuovo la cache con le impostazioni richieste con il comando New-Cache.

  • Utilizzare il comando Set-CacheConfig.

Nel precedente esempio, uno sviluppatore aveva deciso di utilizzare le notifiche cache per la cache Cache1. Benché sia stato modificato il codice per l'utilizzo delle notifiche, l'applicazione potrebbe non avere un buon esito se non vengono abilitate le notifiche anche per la cache Cache1. È possibile rimuovere la cache e crearla nuovamente con l'impostazione desiderata.

Remove-Cache Cache1

Nell'esempio precedente è stata rimossa la Cache1. Attendere per alcuni minuti l'eliminazione della cache e quindi crearla nuovamente. Se si tenta di creare di nuovo la cache prima del tempo necessario, si riceverà un messaggio che indica che l'eliminazione della cache è ancora in corso. Dopo quest'attesa, sarà possibile creare nuovamente la cache e abilitare le notifiche.

New-Cache Cache1 -NotificationsEnabled True

Nell'utilizzare questo metodo occorre osservare con attenzione le impostazioni di configurazione con il comando Get-CacheConfig. Sarà inoltre necessario specificare eventuali impostazioni non predefinite per la cache di nuova creazione, oltre all'impostazione che si desidera modificare.

È anche possibile utilizzare il comando Set-CacheConfig. Il vantaggio di questo comando è che conserva le altre impostazioni e modifica solo l'impostazione specificata dall'utente. Questo comando richiede l'arresto del cluster di cache.

Stop-CacheCluster 
Set-CacheConfig Cache1 -NotificationsEnabled True 
Start-CacheCluster

Entrambe queste tecniche consentono di rimuovere tutti i dati nella cache, che risulterà non disponibile per un breve periodo di tempo. Di conseguenza, è consigliabile apportare queste modifiche in una finestra di manutenzione. Qualora possibile, le applicazioni dovranno essere progettate in modo da poter essere eseguite quando la cache è inattiva per brevi periodi di tempo. Si noti inoltre che per alcune modifiche, ad esempio NotificationsEnabled, le applicazioni client non riflettono automaticamente le modifiche della configurazione. Piuttosto, queste applicazioni devono creare un nuovo parametro DataCacheFactory e chiamare il metodo GetCache sulla cache in modo da riflettere le modifiche apportate alla configurazione della cache. Un semplice modo per eseguire quest'operazione consiste nel riavviare le applicazioni client.

Vedere anche

  2011-12-05
Mostra: