MIP SDK Protection エンジンは、パフォーマンスを向上させ、ネットワーク呼び出しを減らすために、保護ライセンスとサービス検出データをローカルにキャッシュします。 時間の経過と同時に、このキャッシュは、特に大量の保護されたコンテンツを処理するアプリケーションで拡大する可能性があります。 MIP SDK 1.18 以降では、DeleteStoredData()の ProtectionEngine メソッドを使用して、キャッシュされたデータをプログラムで削除できます。
概要
DeleteStoredData() API は、ProtectionEngineで使用でき、次の 2 つのオーバーロードを提供します。
- すべてのデータまたは期限切れのデータを削除する: ブール値を渡して、キャッシュされたすべてのデータまたは期限切れのエントリのみを削除します。
- タイム ポイントより前のデータを削除する: 特定のタイム ポイントを渡して、そのポイントより前にキャッシュされたすべてのデータを削除します。
これは、次の場合に特に便利です。
- 大量の保護されたコンテンツを処理し、ディスクの使用状況を管理する必要があるサーバーまたはデーモン アプリケーション。
- キャッシュされたライセンス データを定期的に消去する必要があるコンプライアンス シナリオ。
- 時間の経過と同時にキャッシュされたデータを蓄積する実行時間の長いアプリケーション。
C++ の例
#include "mip/protection/protection_engine.h"
// Delete only expired cached data (default behavior)
protectionEngine->DeleteStoredData();
// Delete all cached data
protectionEngine->DeleteStoredData(true);
// Delete cached data older than 30 days
auto thirtyDaysAgo = std::chrono::system_clock::now() - std::chrono::hours(24 * 30);
protectionEngine->DeleteStoredData(thirtyDaysAgo);
C# (.NET) の例
// Delete only expired cached data
protectionEngine.DeleteStoredData();
// Delete all cached data
protectionEngine.DeleteStoredData(deleteAllData: true);
// Delete cached data older than 30 days
var thirtyDaysAgo = DateTime.UtcNow.AddDays(-30);
protectionEngine.DeleteStoredData(thirtyDaysAgo);
Java の例
// Delete only expired cached data
protectionEngine.deleteStoredData();
// Delete all cached data
protectionEngine.deleteStoredData(true);
// Delete cached data older than 30 days
ZonedDateTime thirtyDaysAgo = ZonedDateTime.now().minusDays(30);
protectionEngine.deleteStoredData(thirtyDaysAgo);