PooledQueueCache Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
PooledQueueCache est un cache destiné à servir de cache de messages dans un IQueueCache. Il est capable de stocker un grand nombre de messages (gigs d’une valeur de messages) pendant des périodes prolongées (minutes à indéfinies), tout en encourant un niveau de performance minimal en raison du garbage collection. Ce cache mis en pool alloue de la mémoire et ne la libère jamais. Il maintient les ressources libérées disponibles dans les pools qui restent dans l’utilisation de l’application pendant toute la durée de vie du service. Cela signifie que ces objets passent à gen2, sont compactés, puis y restent. Cela est relativement bon marché, car le seul coût qu’ils encourent maintenant est le coût de la vérification pour voir s’ils doivent être libérés dans chaque cycle de collecte. Étant donné que ce cache utilise un petit nombre d’objets volumineux avec des graphiques d’objets relativement simples, ils sont moins coûteux à vérifier qu’un grand nombre d’objets plus petits avec des graphiques d’objets plus complexes. Pour des raisons de performances, ce cache est conçu pour s’aligner plus étroitement avec les données spécifiques à la file d’attente. C’est en partie la raison pour laquelle, contrairement à SimpleQueueCache, ce cache n’implémente pas IQueueCache. Il est destiné à être utilisé dans les implémentations spécifiques à la file d’attente d’IQueueCache.
public class PooledQueueCache : Orleans.Providers.Streams.Common.IPurgeObservable
type PooledQueueCache = class
interface IPurgeObservable
Public Class PooledQueueCache
Implements IPurgeObservable
- Héritage
-
PooledQueueCache
- Implémente
Constructeurs
PooledQueueCache(ICacheDataAdapter, ILogger, ICacheMonitor, Nullable<TimeSpan>, Nullable<TimeSpan>) |
Le cache de file d’attente mis en pool est un cache de message qui obtient une ressource à partir d’un pool |
Propriétés
IsEmpty |
Indique si le cache est vide |
ItemCount |
Obtient le nombre de messages mis en cache. |
Newest |
Obtient le message mis en cache le plus récemment ajouté. |
Oldest |
Obtient le message le plus ancien dans le cache. |
Méthodes
Add(List<CachedMessage>, DateTime) |
Ajouter une liste de message de file d’attente au cache |
GetCursor(IStreamIdentity, StreamSequenceToken) |
Acquiert un curseur pour énumérer les messages dans le cache à l’emplacement sequenceToken fourni, filtré sur le flux spécifié. |
GetCursor(StreamId, StreamSequenceToken) |
Acquiert un curseur pour énumérer les messages dans le cache à l’emplacement sequenceToken fourni, filtré sur le flux spécifié. |
RemoveOldestMessage() |
Supprimer le message le plus ancien dans le cache, supprimer le bloc le plus ancien aussi si le bloc est vide |
TryGetNextMessage(Object, IBatchContainer) |
Acquiert le message suivant dans le cache au niveau du curseur fourni |