PooledQueueCache Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
PooledQueueCache è una cache destinata a fungere da cache dei messaggi in una IQueueCache. È in grado di archiviare grandi quantità di messaggi (gigs vale la pena di messaggi) per periodi di tempo estesi (minuti a tempo indefinito), mentre si verifica un impatto minimo sulle prestazioni a causa di Garbage Collection. Questa cache in pool alloca la memoria e non la rilascia mai. Mantiene le risorse liberate nei pool che rimangono in uso nell'applicazione attraverso la vita del servizio. Ciò significa che questi oggetti passano a gen2, sono compattati e quindi rimangono lì. Questo è relativamente economico, perché l'unico costo che ora comporta è il costo del controllo per verificare se devono essere liberati in ogni ciclo di raccolta. Poiché questa cache usa piccoli numeri di oggetti di grandi dimensioni con grafici a oggetti relativamente semplici, sono meno costosi per controllare quindi un numero elevato di oggetti più piccoli con grafici a oggetti più complessi. Per motivi di prestazioni, questa cache è progettata per allinearsi più strettamente ai dati specifici della coda. Questo è, in parte, perché, a differenza di SimpleQueueCache, questa cache non implementa IQueueCache. È destinato a essere usato nelle implementazioni specifiche della coda di IQueueCache.
public class PooledQueueCache : Orleans.Providers.Streams.Common.IPurgeObservable
type PooledQueueCache = class
interface IPurgeObservable
Public Class PooledQueueCache
Implements IPurgeObservable
- Ereditarietà
-
PooledQueueCache
- Implementazioni
Costruttori
PooledQueueCache(ICacheDataAdapter, ILogger, ICacheMonitor, Nullable<TimeSpan>, Nullable<TimeSpan>) |
Cache della coda in pool è una cache di messaggi che ottiene la risorsa da un pool |
Proprietà
IsEmpty |
Indica se la cache è vuota |
ItemCount |
Ottiene il conteggio dei messaggi memorizzati nella cache. |
Newest |
Ottiene il messaggio memorizzato nella cache più di recente aggiunto. |
Oldest |
Ottiene il messaggio meno recente nella cache. |
Metodi
Add(List<CachedMessage>, DateTime) |
Aggiungere un elenco di messaggi di coda alla cache |
GetCursor(IStreamIdentity, StreamSequenceToken) |
Acquisisce un cursore per enumerare i messaggi nella cache nella sequenza fornitaToken, filtrati nel flusso specificato. |
GetCursor(StreamId, StreamSequenceToken) |
Acquisisce un cursore per enumerare i messaggi nella cache nella sequenza fornitaToken, filtrati nel flusso specificato. |
RemoveOldestMessage() |
Rimuovere il messaggio meno recente nella cache, rimuovere anche il blocco meno recente se il blocco è vuoto |
TryGetNextMessage(Object, IBatchContainer) |
Acquisisce il messaggio successivo nella cache nel cursore specificato |