共用方式為


PooledQueueCache<TQueueMessage,TCachedMessage> 類別

定義

PooledQueueCache 是一個快取,用來作為 IQueueCache 中的訊息快取。 它能夠將大量訊息儲存 (gigs,) 一段時間 (分鐘到無限期) ,同時因為垃圾收集而造成效能降低。 這個集區快取會配置記憶體,永遠不會釋放它。 它會保留集區中可用的可用資源,這些資源會在服務存留期間繼續使用應用程式。 這表示這些物件會移至 gen2、經過壓縮,然後留在該處。 這相當便宜,因為他們現在產生的唯一成本是檢查成本,以查看是否應該在每個收集週期中釋放它們。 由於此快取會使用少量具有相對簡單物件圖形的大型物件,因此檢查大量具有較複雜物件圖形的較小物件的成本較低。 基於效能考慮,此快取的設計目的是更緊密地與佇列特定資料保持一致。 這是一部分的原因,不同于 SimpleQueueCache,此快取不會實作 IQueueCache。 它旨在用於 IQueueCache 的佇列特定實作中。

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)

類型參數

TQueueMessage

佇列特定資料

TCachedMessage

緊密封裝的快取結構。 應該只包含實值型別。

繼承
PooledQueueCache<TQueueMessage,TCachedMessage>
實作

建構函式

PooledQueueCache<TQueueMessage,TCachedMessage>(ICacheDataAdapter<TQueueMessage, TCachedMessage>, ICacheDataComparer<TCachedMessage>, ILogger, ICacheMonitor, Nullable<TimeSpan>)

集區佇列快取是訊息的快取,可從集區取得資源

PooledQueueCache<TQueueMessage,TCachedMessage>(ICacheDataAdapter<TQueueMessage, TCachedMessage>, ICacheDataComparer<TCachedMessage>, Logger, ICacheMonitor, Nullable<TimeSpan>)

集區佇列快取是訊息的快取,可從集區取得資源

屬性

IsEmpty

指出快取是否空白

ItemCount

快取的訊息計數

Newest

最近新增的快取訊息

Oldest

快取中最舊的訊息

方法

Add(List<TQueueMessage>, DateTime)

將佇列訊息清單新增至快取

GetCursor(IStreamIdentity, StreamSequenceToken)

取得資料指標,以在所提供 sequenceToken 的快取中列舉訊息,並篩選在指定的資料流程上。

RemoveOldestMessage()

移除快取中最舊的訊息,如果區塊是空的,請移除最舊的區塊

TryGetNextMessage(Object, IBatchContainer)

取得位於所提供資料指標之快取中的下一個訊息

適用於