キャッシュを作成すると、 サイズを割り当てる (マシン上の利用可能なメモリに応じて異なります)。 ただし、この割り当てられたサイズがある時点でいっぱいになる可能性があります。 これが発生すると、このキャッシュに対して書き込み操作を実行できなくなりますが、読み取り操作は引き続き実行できます。
この問題に対処するには、 NCache キャッシュ クラスターでエビクションを有効にすることができます。 この機能は、使用可能な XNUMX つのアルゴリズム (このヒントで後ほど説明します) に基づいて、キャッシュ クラスターからデータを自動的に削除します。 ただし、次のシナリオではエビクションを有効にしないでください。
このようなシナリオでは、エビクションの代わりに、実行時に実行できるキャッシュのサイズを増やすことが最善のオプションです。また、キャッシュがいっぱいになったときに通知を受け取ることもできます。 キャッシュ クラスターのエビクションを有効にするには XNUMX つの方法があり、以下で説明します。
キャッシュの作成時にキャッシュのエビクションを有効にするには、 NCache Webマネージャ。 以下の手順に従ってください:
を使用して、すでに作成されているキャッシュのエビクションを有効にすることもできます。 NCache Webマネージャ。 キャッシュが停止していることを確認してください。 すでに作成されたキャッシュのエビクションを有効にするには、次の手順に従います。
NCache XNUMXつを提供します 立ち退きポリシー あなたが選べるように。 それらについては以下で説明します。
このエビクション ポリシーは、キャッシュされたオブジェクトにタイムスタンプを付けます。 タイムスタンプは、オブジェクトがアクセスされるたびに更新されます。 削除するときは、最も古いタイムスタンプを持つオブジェクトが選択されます。 XNUMX つのオブジェクトが同じタイムスタンプを持つ場合、XNUMX つのオブジェクトの間でランダムに選択されます。 デフォルトでは、アイテムは最も最近使用されていないものに基づいて削除されます。
このポリシーは、オブジェクトがアクセスされた回数をカウントするカウンターを使用します。 エビクション時には、アクセス数が最も少ないオブジェクトが最初にエビクションされます。 このポリシーでも、同じカウント値を持つ XNUMX つのオブジェクトの間でランダムな選択が行われます。
このエビクション ポリシーには、LFU エビクション ポリシーと同様のエビクション メカニズムがありますが、オブジェクトに関連付けられた優先順位が追加されています。 オブジェクトの優先順位は、このオブジェクトをキャッシュするときに決定されます。 優先度の低いオブジェクトが最初に削除され、優先度の高いオブジェクトが後で削除されます。 このエビクション ポリシーでは、次のエビクションの優先順位から選択するオプションがあります。
注: 優先度が選択されていない場合は、通常の優先度がデフォルトとして使用されます。