Sfratto della cache
Per ogni cache, la dimensione della cache deve essere stimata in anticipo con un'attenta considerazione dell'utilizzo dei dati da parte dell'applicazione. Tuttavia, la cache presenta limitazioni di archiviazione e se i dati rimarranno nella cache per sempre, prima o poi si riempirà. Per gestire questo, NCacheÈ possibile utilizzare la funzione di eliminazione della cache di.
In Sfratto, quando la cache è piena, NCache decide di eliminare i dati esistenti sulla base dell'utilizzo o della priorità per accogliere i nuovi dati in arrivo. L'eliminazione faciliterà le operazioni della cache mantenendo limitata la dimensione della cache rimuovendo una percentuale configurata di dati.
NCache prevede diverse politiche per lo sfratto. Queste politiche decidono quali dati verranno eliminati quando la cache è piena:
Eliminazione della cache basata sulla priorità
Note:
Questa funzionalità è disponibile anche in NCache Professional.
Questa politica di eliminazione della cache consente alla cache di eliminare prima i dati meno importanti. Questa politica di eliminazione è la tua scelta ovvia se puoi classificare i dati della cache in diverse priorità. La priorità viene specificata con l'elemento della cache durante l'aggiunta alla cache. È possibile specificare una qualsiasi delle priorità dai seguenti 6 livelli di priorità:
- Basso
- Sotto Normale
- Normale
- Sopra Normale
- Alta
- Non rimovibile: questo livello di priorità specifica che l'elemento della cache non deve essere eliminato e può essere configurato solo utilizzando il file NCache API.
Usato meno di recente (LRU)
Questa politica di eliminazione consente alle cache di eliminare i dati che non sono più in uso. I dati vengono eliminati in base all'ora dell'ultimo accesso. I dati a cui si è avuto accesso molto tempo fa sono i candidati più adatti per lo sfratto rispetto ai dati a cui si è avuto accesso di recente. L'ora di accesso viene aggiornata quando i dati vengono recuperati/aggiornati dalla cache.
Utilizzo meno frequente (LFU)
Questa politica di eliminazione consente di eliminare dalla cache i dati utilizzati meno frequentemente. I dati vengono eliminati in base alla frequenza del loro utilizzo. Ad esempio, se si accede a un elemento 5 volte, è un candidato più adatto per lo sfratto rispetto a un elemento a cui si accede 20 volte.
Non sfrattare
Note:
Questa funzione è disponibile solo in NCache Enterprise.
Insieme a diverse politiche, esiste un'altra opzione per disattivare lo sfratto. In questo caso, quando la cache si riempie, la cache non rimuove alcun dato mentre tutte le richieste di aggiunta di dati in arrivo vengono rifiutate.
Rapporto di sfratto
È inoltre possibile specificare il rapporto di eliminazione, ovvero in quale percentuale i dati devono essere eliminati dalla cache. L'eliminazione rimuove solo la percentuale configurata di dati dalla cache, una volta attivata l'eliminazione.
Avviso cache quasi piena
Quando la cache è piena all'80% circa e necessita di eliminazione, NCache registra gli eventi sia nel Visualizzatore eventi in Windows che nei file di registro della cache.
Rimozione in blocco dei dati
Il numero di elementi della cache da rimuovere durante l'eliminazione può essere enorme a seconda delle dimensioni della cache e del rapporto di eliminazione. Questo è il motivo per cui lo sfratto rimuove i dati in blocco. La dimensione dell'operazione di massa è configurabile tramite il file di configurazione del server cache presente nel file NCache installazione come segue:
- .NET: Alachisoft.NCache.Service.exe.config situato in %NCHOME%/bin/servizio
- .NET Core Windows: Alachisoft.NCache.Service.dll.config situato in %NCHOME%/bin/servizio
- .NET Core Linux: Alachisoft.NCache.Daemon.dll.config situato in / optare /ncache/bin/servizio
- Windows Java: Alachisoft.NCache.Service.dll.config situato in %NCHOME%/bin/servizio
- JavaLinux: Alachisoft.NCache.Daemon.dll.config situato in / optare /ncache/bin/servizio
Allo stesso modo, puoi anche configurare il ritardo tra due operazioni di rimozione in blocco con l'aiuto di un file di configurazione del servizio.
Sfratto in ambiente cluster
Nel Partitioned e la Partizione-Replica topologie, la distribuzione dei dati si basa su un algoritmo di hashing. Ogni nodo ha diviso i dati, quindi ogni nodo è responsabile dell'eliminazione dei propri dati. Tuttavia, il nodo di replica in Partition-Replica non elimina i dati stessi: i dati vengono automaticamente rimossi dalla replica quando vengono rimossi dal nodo attivo.
Nel replicato topologia, ogni nodo ha lo stesso set di dati, quindi solo il coordinatore del cluster è responsabile dell'eliminazione.
Nel Specchio La cache ha solo due nodi, uno attivo e l'altro passivo. Pertanto, il nodo attivo è responsabile dell'eliminazione dell'intera cache.
Vedere anche
Politica di sfratto
Indicizzazione
Versioni di classe
Condivisione dei dati di runtime