MIP SDK 保護引擎會將保護授權與服務發現資料快取於本地,以提升效能並減少網路呼叫。 隨著時間推移,這種快取會成長,尤其是在處理大量受保護內容的應用程式中。 從 MIP SDK 1.18 開始,DeleteStoredData() 的 ProtectionEngine 方法提供了一種以程式方式移除快取資料的方法。
概觀
DeleteStoredData() API 可在 ProtectionEngine 上使用,並提供兩種重載方法:
- 刪除所有或過期資料:傳遞布林值以刪除所有快取資料或僅刪除過期的條目。
- 在某個時間點前刪除資料:指定特定時間點,刪除該時間點之前所有緩存的資料。
這對於以下情況特別有用:
- 伺服器或守護程序處理大量受保護內容,並需管理磁碟使用。
- 合規情境中,必須定期清除快取授權資料。
- 長期執行的應用程式 會隨時間累積快取資料。
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);