キャッシュエビクションポリシー
各キャッシュごとに、 キャッシュサイズ アプリケーションのデータ使用量とアクセスパターンに基づいて、事前に見積もる必要があります。しかし、キャッシュの記憶容量は有限であるため、最終的に容量に達するまでデータを無期限に保存することはできません。これに対処するために、 NCache キャッシュが設定されたサイズ制限に達したときに既存のデータを自動的に削除し、継続的なキャッシュ操作を保証するキャッシュ削除メカニズムを提供します。
キャッシュがいっぱいになると、 NCache 使用パターンやアイテムなどの設定された削除ポリシーに基づいてデータを削除します 優先順位新しいエントリのためのスペースを確保するため、キャッシュは自動的に削除されます。削除処理では、サイクルごとに設定された割合のデータを削除することで、キャッシュがサイズ制限内に収まりながら、新しいデータを受け入れることができます。この自動化されたプロセスにより、キャッシュが満杯になるのを防ぎ、キャッシュの安定性を維持し、メモリを効率的に利用できます。
NCache 複数の削除ポリシーをサポートします。各ポリシーは異なるデータ アクセス シナリオ向けに設計されており、削除が発生したときに削除するデータの選択方法を決定します。
優先順位に基づいたキャッシュの削除
このキャッシュ削除ポリシーにより、キャッシュは重要度の低いデータを最初に削除できます。キャッシュ データをさまざまな優先順位に分類できる場合は、このエビクション ポリシーを選択するのが明らかです。優先度は、キャッシュ項目をキャッシュに追加するときに、キャッシュ項目で指定されます。次の 6 レベルの優先度から任意の優先度を指定できます。
- ロー
- 正常以下で
- ノーマル
- ノーマル上記
- ハイ
- 削除不可 - この優先レベルは、キャッシュ項目を削除すべきではないことを指定し、キャッシュ項目を使用してのみ構成できます。 NCache APIです。
最近使用されていない(LRU)
この削除ポリシーにより、キャッシュは使用されなくなったデータを削除できます。データは最終アクセス時刻に基づいて削除されます。最近アクセスされたデータと比較して、かなり前にアクセスされたデータの方が削除対象として適しています。アクセス時刻は、キャッシュからデータが取得または更新される際に更新されます。
使用頻度が最も低い(LFU)
このエビクション ポリシーにより、使用頻度の低いデータをキャッシュからエビクションできます。データは使用頻度に基づいて削除されます。たとえば、アイテムが 5 回アクセスされた場合、そのアイテムは 20 回アクセスされたアイテムよりもエビクションの候補として適しています。
退きさせないでください
さまざまなポリシーに加えて、立ち退きをオフにする別のオプションもあります。この場合、キャッシュがいっぱいになると、キャッシュはデータを削除しませんが、受信したデータ追加要求はすべて拒否されます。
立ち退き率
また、削除率、つまりデータをキャッシュから削除する割合を指定することもできます。エビクションがトリガーされると、設定された割合のデータのみがキャッシュから削除されます。
キャッシュがほぼ満杯の警告
キャッシュが約 80% いっぱいになり、削除が必要な場合、 NCache Windows のイベント ビューアとキャッシュ ログ ファイルの両方にイベントを記録します。
データの一括削除
キャッシュサイズとキャッシュの削除方法によっては、削除するキャッシュアイテムの数が膨大になることがあります。 立ち退き率. そのため、エビクションはデータを一括で削除します。一括操作のサイズは、 NCache 次のようにインストールします。
- Windows: Alachisoft.NCache.Service.dll.config に位置 %NCHOME%\ bin \ service.
- Linux: Alachisoft.NCache.Daemon.dll.config に位置 /opt/ncache/bin/サービス.
同様に、サービス構成ファイルを使用して、2 つの一括削除操作の間の遅延を構成することもできます。
クラスター環境でのエビクション
パーティションとパーティションレプリカ トポロジでは、データ分散はハッシュ アルゴリズムに基づいています。各ノードは分割されたデータを持っているため、各ノードはそのデータを追い出す責任があります。ただし、Partition-Replica のレプリカ ノードはデータ自体を削除しません。データは、アクティブ ノードから削除されるときにレプリカから自動的に削除されます。
複製 トポロジでは、すべてのノードが同じデータセットを持っているため、クラスターコーディネーターのみがエビクションを担当します。
使い方 NCache 管理センター
起動する NCache Management Center を参照して、 http://localhost:8251 or
<server-ip>:8251.左側のナビゲーションバーで、をクリックします クラスター化されたキャッシュ or ローカルキャッシュ、起動するキャッシュサーバーに基づきます。 キャッシュ名に対して、をクリックします 詳細を見る.
重要
構成を変更する前に、キャッシュが停止していることを確認してください。

これにより、キャッシュの詳細な構成ページが開きます。
概要 タブをクリックします。
チェック エビクションを有効にする ボックス。
まず ポリシー ドロップダウンリストから選択します。
選択した場合 優先 ベースの立ち退き、そして デフォルトの優先度 ドロップダウンリストでも変更できます。
以下のスクリーンショットに示すように、ジョブタイプを 立ち退きの割合、 もし必要なら。

- ソフトウェアの制限をクリック
キャッシュ構成を保存します。
手動編集 NCache
手動で編集することができます NCache 設定ファイルは次のようになります。
- キャッシュのエビクション ポリシーを指定します。 config.ncconf を追加して
<eviction-policy>下のタグ<cache-settings>:
<cache-settings ...>
<eviction-policy enabled-eviction="True" default-priority="normal" policy="lru" eviction-ratio="5%"/>
</cache-settings>
- 変更が完了したら、キャッシュを起動し、 NCache サービス。
警告
その eviction-ratio=5% 合計キャッシュ サイズの 5% に相当します。 セッションの場合、エビクションは推奨されません。