PooledQueueCache Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
PooledQueueCache ist ein Cache, der als Nachrichtencache in einem IQueueCache dienen soll. Es ist in der Lage, eine große Anzahl von Nachrichten (Gigs im Wert von Nachrichten) für längere Zeiträume (Minuten bis unbestimmt) zu speichern, während es aufgrund der Garbage Collection zu einem minimalen Leistungstreffer kommt. Dieser Poolcache weist Arbeitsspeicher zu und gibt ihn nie frei. Es hält freigegebene Ressourcen in Pools zur Verfügung, die während der Lebensdauer des Diensts in der Anwendung verwendet werden. Dies bedeutet, dass diese Objekte zu gen2 wechseln, komprimiert werden und dann dort bleiben. Dies ist relativ günstig, da die einzigen Kosten, die jetzt anfallen, die Kosten für die Überprüfung sind, ob sie in jedem Sammlungszyklus frei werden sollen. Da dieser Cache eine kleine Anzahl großer Objekte mit relativ einfachen Objektgraphen verwendet, ist die Überprüfung der großen Anzahl kleinerer Objekte mit komplexeren Objektgraphen kostengünstiger. Aus Leistungsgründen ist dieser Cache so konzipiert, dass er besser an warteschlangenspezifischen Daten ausgerichtet ist. Dies ist teilweise der Grund, warum dieser Cache im Gegensatz zum SimpleQueueCache nicht IQueueCache implementiert. Es ist für die Verwendung in warteschlangenspezifischen Implementierungen von IQueueCache vorgesehen.
public class PooledQueueCache : Orleans.Providers.Streams.Common.IPurgeObservable
type PooledQueueCache = class
interface IPurgeObservable
Public Class PooledQueueCache
Implements IPurgeObservable
- Vererbung
-
PooledQueueCache
- Implementiert
Konstruktoren
PooledQueueCache(ICacheDataAdapter, ILogger, ICacheMonitor, Nullable<TimeSpan>, Nullable<TimeSpan>) |
Poolwarteschlangencache ist ein Nachrichtencache, der Ressourcen aus einem Pool abruft. |
Eigenschaften
IsEmpty |
Gibt an, ob der Cache leer ist. |
ItemCount |
Ruft die anzahl der zwischengespeicherten Nachrichten ab. |
Newest |
Ruft die zwischengespeicherte Nachricht ab, die zuletzt hinzugefügt wurde. |
Oldest |
Ruft die älteste Nachricht im Cache ab. |
Methoden
Add(List<CachedMessage>, DateTime) |
Hinzufügen einer Liste mit Warteschlangennachrichten zum Cache |
GetCursor(IStreamIdentity, StreamSequenceToken) |
Ruft einen Cursor ab, um die Nachrichten im Cache auf dem bereitgestellten sequenceToken aufzulisten, der nach dem angegebenen Stream gefiltert wird. |
GetCursor(StreamId, StreamSequenceToken) |
Ruft einen Cursor ab, um die Nachrichten im Cache auf dem bereitgestellten sequenceToken aufzulisten, der nach dem angegebenen Stream gefiltert wird. |
RemoveOldestMessage() |
Entfernen Sie die älteste Nachricht im Cache, entfernen Sie auch den ältesten Block, wenn der Block leer ist. |
TryGetNextMessage(Object, IBatchContainer) |
Ruft die nächste Nachricht im Cache am angegebenen Cursor ab. |