0

Azure Caching には最大メモリ制限があることは知っていますが、オブジェクトの最大数にも制限はありますか? キーの数が増えると、キャッシュが遅くなるように感じます。

バックグラウンド:

各ユーザーのメモリにいくつかの数値を保持する必要があります (データベースから計算するのは高価ですが、その場でメモリをインクリメントするのは安価です)。同時ユーザーが増えるにつれて、制限がある場合にキャッシュを超えてしまうのではないかと心配しています。

私の意図した解決策:

ユーザーごとにInt64value1」と「 」をメモリに保持する必要があるとしましょう。value2

次のように変更されたときにアイテムをキャッシュし、 DataCache.IncrementuserN_value1, userN_value2, [...]を呼び出して各カウンターの値を更新します。

DataCache.Increment("user1_value1", 2500, 0, "someregion");

ユーザー数が増えると、アイテム数が増える可能性があります。これは私が心配すべきことですか?私が考えていなかったより良いアプローチはありますか?

4

2 に答える 2

0

オブジェクトの制限がないことを私が知っている限り、あなたはメモリにのみ拘束されます。キャッシュにメモリの負荷がかかると、オブジェクトを削除して解放します。データ削除プロセスは非同期であり、最も最近使用されていない(LRU)ポリシーに従います。

于 2012-09-07T12:40:09.190 に答える
0

実際には、クラスター用に選択された VM のインスタンス数とサイズによって制限が課されます。

キャパシティ プランニング ガイドのスプレッドシートは非常に興味深いものです。これを使用して、共有キャッシュ サービスの現在の使用状況を比較し、一致する構成を見つけました (そしてコストを比較しました)。

アクティブ オブジェクトの最大数平均オブジェクト サイズ (シリアル化後)の設定をシナリオに適合させると、提案された構成がどのように上昇するかを確認できます。

制限があるようです: 要件を増やすと、「32 を超えるクラスター サイズはサポートされていません。複数のクラスターに分割することを検討してください」が発生する可能性があります。クラスタ内にそれぞれが ExtraLarge VM として 32 を超えるノードが必要な場合は、限界に達したと思います。

于 2012-09-07T13:07:22.083 に答える