Compartir a través de


PooledQueueCache Clase

Definición

PooledQueueCache es una memoria caché que está pensada para servir como caché de mensajes en un IQueueCache. Es capaz de almacenar grandes cantidades de mensajes (vales de mensajes) durante largos períodos de tiempo (minutos a indefinidos), mientras se incurre en un impacto mínimo de rendimiento debido a la recolección de elementos no utilizados. Esta caché agrupada asigna memoria y nunca la libera. Mantiene los recursos liberados disponibles en los grupos que permanecen en uso de la aplicación a través de la vida útil del servicio. Esto significa que estos objetos van a gen2, se compactan y luego permanecen allí. Esto es relativamente barato, ya que el único costo que ahora incurren es el costo de comprobar si deben liberarse en cada ciclo de recolección. Dado que esta memoria caché usa pequeños números de objetos grandes con gráficos de objetos relativamente simples, son menos costosos comprobar entonces un gran número de objetos más pequeños con gráficos de objetos más complejos. Por motivos de rendimiento, esta caché está diseñada para alinearse más estrechamente con los datos específicos de la cola. Esto es, en parte, por qué, a diferencia de SimpleQueueCache, esta caché no implementa IQueueCache. Está pensado para usarse en implementaciones específicas de la cola de IQueueCache.

public class PooledQueueCache : Orleans.Providers.Streams.Common.IPurgeObservable
type PooledQueueCache = class
    interface IPurgeObservable
Public Class PooledQueueCache
Implements IPurgeObservable
Herencia
PooledQueueCache
Implementaciones

Constructores

PooledQueueCache(ICacheDataAdapter, ILogger, ICacheMonitor, Nullable<TimeSpan>, Nullable<TimeSpan>)

La caché de cola agrupada es una caché de mensajes que obtiene el recurso de un grupo.

Propiedades

IsEmpty

Indica si la memoria caché está vacía.

ItemCount

Obtiene el recuento de mensajes almacenados en caché.

Newest

Obtiene el mensaje almacenado en caché más recientemente agregado.

Oldest

Obtiene el mensaje más antiguo de la memoria caché.

Métodos

Add(List<CachedMessage>, DateTime)

Agregar una lista de mensajes de cola a la memoria caché

GetCursor(IStreamIdentity, StreamSequenceToken)

Adquiere un cursor para enumerar los mensajes de la memoria caché en el sequenceToken proporcionado, filtrado en la secuencia especificada.

GetCursor(StreamId, StreamSequenceToken)

Adquiere un cursor para enumerar los mensajes de la memoria caché en el sequenceToken proporcionado, filtrado en la secuencia especificada.

RemoveOldestMessage()

Quite el mensaje más antiguo de la memoria caché, quite también el bloque más antiguo si el bloque está vacío.

TryGetNextMessage(Object, IBatchContainer)

Adquiere el siguiente mensaje en la memoria caché en el cursor proporcionado.

Se aplica a