PooledQueueCache クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
PooledQueueCache は、IQueueCache のメッセージ キャッシュとして機能することを目的としたキャッシュです。 ガベージ コレクションによるパフォーマンスの低下を最小限に抑えながら、長時間 (分から不定まで) 大量のメッセージ (ギグ相当のメッセージ) を格納できます。 このプールされたキャッシュはメモリを割り当て、解放しません。 解放されたリソースは、サービスの有効期間を通じてアプリケーションで使用されたままのプールで使用できます。 つまり、これらのオブジェクトは gen2 に移動し、圧縮され、そこにとどまります。 これは比較的安価です。現在発生する唯一のコストは、各コレクション サイクルで解放する必要があるかどうかを確認するコストです。 このキャッシュでは、比較的単純なオブジェクト グラフを持つ少数の大きなオブジェクトが使用されるため、より複雑なオブジェクト グラフを含む小さなオブジェクトの数を確認するコストが低くなります。 パフォーマンス上の理由から、このキャッシュはキュー固有のデータとより密接に一致するように設計されています。 これは、SimpleQueueCache とは異なり、このキャッシュで IQueueCache が実装されない理由の一部です。 これは、IQueueCache のキュー固有の実装で使用することを目的としています。
public class PooledQueueCache : Orleans.Providers.Streams.Common.IPurgeObservable
type PooledQueueCache = class
interface IPurgeObservable
Public Class PooledQueueCache
Implements IPurgeObservable
- 継承
-
PooledQueueCache
- 実装
コンストラクター
PooledQueueCache(ICacheDataAdapter, ILogger, ICacheMonitor, Nullable<TimeSpan>, Nullable<TimeSpan>) |
プールされたキュー キャッシュは、プールからリソースを取得するメッセージのキャッシュです |
プロパティ
IsEmpty |
キャッシュが空かどうかを示します |
ItemCount |
キャッシュされたメッセージ数を取得します。 |
Newest |
最後に追加されたキャッシュされたメッセージを取得します。 |
Oldest |
キャッシュ内の最も古いメッセージを取得します。 |
メソッド
Add(List<CachedMessage>, DateTime) |
キュー メッセージの一覧をキャッシュに追加する |
GetCursor(IStreamIdentity, StreamSequenceToken) |
指定したストリームでフィルター処理された、指定された sequenceToken のキャッシュ内のメッセージを列挙するカーソルを取得します。 |
GetCursor(StreamId, StreamSequenceToken) |
指定したストリームでフィルター処理された、指定された sequenceToken のキャッシュ内のメッセージを列挙するカーソルを取得します。 |
RemoveOldestMessage() |
キャッシュ内の最も古いメッセージを削除し、ブロックが空の場合も最も古いブロックを削除します |
TryGetNextMessage(Object, IBatchContainer) |
指定されたカーソル位置にあるキャッシュ内の次のメッセージを取得します |