PooledQueueCache<TQueueMessage,TCachedMessage> 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.
Der PooledQueueCache ist ein Cache, der als Nachrichtencache in einem IQueueCache dienen soll. Es ist in der Lage, große Anzahl von Nachrichten (Gigs wert von Nachrichten) für längere Zeiträume (Minuten bis unbestimmt) zu speichern, während aufgrund der Garbage Collection ein minimaler Leistungstreffer auftritt. Dieser poolierte Cache weist Arbeitsspeicher zu und veröffentlicht es nie. Es behält freigestellte Ressourcen in Pools zur Verfügung, die in der Anwendung über die Lebensdauer des Diensts verbleiben. Dies bedeutet, dass diese Objekte zu Gen2 gehen, komprimiert sind und dann dort bleiben. Dies ist relativ billig, da die einzigen Kosten, die sie jetzt verursachen, die Kosten für die Überprüfung sind, um zu sehen, ob sie in jedem Sammlungszyklus freigestellt werden sollten. Da dieser Cache kleine Anzahl großer Objekte mit relativ einfachen Objektdiagrammen verwendet, sind sie weniger kostspielig, um dann große Anzahl kleinerer Objekte mit komplexeren Objektdiagrammen zu überprüfen. Aus Leistungsgründen ist dieser Cache so konzipiert, dass die Warteschlange spezifische Daten genauer ausgerichtet ist. Dies ist teilweise der Grund, warum dieser Cache im Gegensatz zum SimpleQueueCache nicht IQueueCache implementiert. Es soll in Warteschlange spezifische Implementierungen von IQueueCache verwendet werden.
public class PooledQueueCache<TQueueMessage,TCachedMessage> : Orleans.Providers.Streams.Common.IPurgeObservable<TCachedMessage> where TCachedMessage : struct
type PooledQueueCache<'QueueMessage, 'CachedMessage (requires 'CachedMessage : struct)> = class
interface IPurgeObservable<'CachedMessage (requires 'CachedMessage : struct)>
Public Class PooledQueueCache(Of TQueueMessage, TCachedMessage)
Implements IPurgeObservable(Of TCachedMessage)
Typparameter
- TQueueMessage
Warteschlange spezifische Daten
- TCachedMessage
Eng verpackte zwischengespeicherte Struktur. Sollte nur Werttypen enthalten.
- Vererbung
-
PooledQueueCache<TQueueMessage,TCachedMessage>
- Implementiert
Konstruktoren
PooledQueueCache<TQueueMessage,TCachedMessage>(ICacheDataAdapter<TQueueMessage, TCachedMessage>, ICacheDataComparer<TCachedMessage>, ILogger, ICacheMonitor, Nullable<TimeSpan>) |
Pooled queue cache is a cache of message that get resource from a pool |
PooledQueueCache<TQueueMessage,TCachedMessage>(ICacheDataAdapter<TQueueMessage, TCachedMessage>, ICacheDataComparer<TCachedMessage>, Logger, ICacheMonitor, Nullable<TimeSpan>) |
Pooled queue cache is a cache of message that get resource from a pool |
Eigenschaften
IsEmpty |
Gibt an, ob der Cache leer ist. |
ItemCount |
Anzahl zwischengespeicherter Nachrichten |
Newest |
Zuletzt hinzugefügte zwischengespeicherte Nachricht |
Oldest |
Älteste Nachricht im Cache |
Methoden
Add(List<TQueueMessage>, DateTime) |
Hinzufügen einer Liste der Warteschlangennachricht zum Cache |
GetCursor(IStreamIdentity, StreamSequenceToken) |
Dient zum Aufzählen eines Cursors über die Nachrichten im Cache an der bereitgestellten SequenzToken, gefiltert auf dem angegebenen Stream. |
RemoveOldestMessage() |
Entfernen Sie älteste Nachricht im Cache, entfernen Sie auch den ältesten Block, wenn der Block leer ist. |
TryGetNextMessage(Object, IBatchContainer) |
Erhält die nächste Nachricht im Cache am angegebenen Cursor |