キャッシュエビクション
すべてのキャッシュについて、アプリケーションによるデータ使用量を慎重に考慮して、キャッシュ サイズを事前に見積もる必要があります。ただし、キャッシュにはストレージの制限があるため、データがキャッシュ内に永久に存在すると、最終的にはキャッシュがいっぱいになります。これに対処するには、 NCacheのキャッシュエビクション機能を利用できます。
Evictionでは、キャッシュがいっぱいになると、 NCache は、新しい受信データに対応するために、使用状況または優先順位に基づいて既存のデータを削除することを決定します。エビクションは、構成された割合のデータを削除することでキャッシュ サイズを制限しながら、キャッシュ操作をスムーズにします。
NCache エビクションに関するさまざまなポリシーを提供します。これらのポリシーは、キャッシュがいっぱいになったときにどのデータを削除するかを決定します。
優先順位に基づいたキャッシュの削除
Note
この機能は以下でも利用できます NCache Professional.
このキャッシュ削除ポリシーにより、キャッシュは重要度の低いデータを最初に削除できます。キャッシュ データをさまざまな優先順位に分類できる場合は、このエビクション ポリシーを選択するのが明らかです。優先度は、キャッシュ項目をキャッシュに追加するときに、キャッシュ項目で指定されます。次の 6 レベルの優先度から任意の優先度を指定できます。
- ロー
- 正常以下で
- ノーマル
- ノーマル上記
- ハイ
- 削除不可 - この優先レベルは、キャッシュ項目を削除すべきではないことを指定し、キャッシュ項目を使用してのみ構成できます。 NCache APIです。
最近使用されていない(LRU)
このエビクション ポリシーにより、キャッシュは使用されなくなったデータをエビクトできます。データは最終アクセス時刻に基づいて削除されます。最近アクセスされたデータと比較して、かなり前にアクセスされたデータがエビクションの対象として最も適しています。アクセス時間は、キャッシュからデータがフェッチ/更新されるときに更新されます。
使用頻度が最も低い(LFU)
このエビクション ポリシーにより、使用頻度の低いデータをキャッシュからエビクションできます。データは使用頻度に基づいて削除されます。たとえば、アイテムが 5 回アクセスされた場合、そのアイテムは 20 回アクセスされたアイテムよりもエビクションの候補として適しています。
退きさせないでください
Note
この機能はでのみ利用可能です NCache Enterprise.
さまざまなポリシーに加えて、立ち退きをオフにする別のオプションもあります。この場合、キャッシュがいっぱいになると、キャッシュはデータを削除しませんが、受信したデータ追加要求はすべて拒否されます。
立ち退き率
また、削除率、つまりデータをキャッシュから削除する割合を指定することもできます。エビクションがトリガーされると、設定された割合のデータのみがキャッシュから削除されます。
キャッシュがほぼいっぱいの警告bg
キャッシュが約 80% いっぱいになり、削除が必要な場合、 NCache Windows のイベント ビューアとキャッシュ ログ ファイルの両方にイベントを記録します。
データの一括削除
キャッシュ サイズとエビクション率に応じて、エビクション中に削除されるキャッシュ アイテムの数が膨大になる可能性があります。このため、エビクションによってデータが一括削除されます。一括操作のサイズは、次のキャッシュ サーバー構成ファイルを通じて構成できます。 NCache 次のようにインストールします。
- .NET: Alachisoft.NCache.service.exe.config に位置 %NCHOME%/ bin / service
- .NET Core Windows: Alachisoft.NCache.Service.dll.config に位置 %NCHOME%/ bin / service
- .NET Core Linux: Alachisoft.NCache.Daemon.dll.config に位置 / opt /ncache/ bin / service
- Java ウィンドウ: Alachisoft.NCache.Service.dll.config に位置 %NCHOME%/ bin / service
- Java Linux: Alachisoft.NCache.Daemon.dll.config に位置 / opt /ncache/ bin / service
同様に、サービス構成ファイルを使用して、2 つの一括削除操作の間の遅延を構成することもできます。
クラスター環境でのエビクション
パーティション化 と パーティション-レプリカ トポロジでは、データ分散はハッシュ アルゴリズムに基づいています。各ノードは分割されたデータを持っているため、各ノードはそのデータを追い出す責任があります。ただし、Partition-Replica のレプリカ ノードはデータ自体を削除しません。データは、アクティブ ノードから削除されるときにレプリカから自動的に削除されます。
複製 トポロジでは、すべてのノードが同じデータセットを持っているため、クラスターコーディネーターのみがエビクションを担当します。
鏡 キャッシュには 2 つのノードしかなく、1 つはアクティブ、もう 1 つはパッシブです。したがって、アクティブ ノードはキャッシュ全体のエビクションを実行する責任があります。