Hantera cachelagrade data med DeleteStoredData

MIP SDK Protection-motorn cachelagrar skyddslicenser och tjänstidentifieringsdata lokalt för att förbättra prestanda och minska nätverksanrop. Med tiden kan den här cachen växa, särskilt i program som bearbetar stora mängder skyddat innehåll. Från och med MIP SDK 1.18 DeleteStoredData() ger metoden på ProtectionEngine ett sätt att ta bort cachelagrade data programmatiskt.

Översikt

API:et DeleteStoredData() är tillgängligt på ProtectionEngine och ger två överlagringar:

  • Ta bort alla eller utgångna data: Skicka ett booleskt värde för att ta bort alla cachelagrade data eller endast utgångna poster.
  • Ta bort data före en tidpunkt: Skicka en specifik tidpunkt för att ta bort alla data som cachelagrats före den punkten.

Detta är särskilt användbart för:

  • Server- eller daemonprogram som bearbetar stora mängder skyddat innehåll och som behöver hantera diskanvändning.
  • Efterlevnadsscenarier där cachelagrade licensdata måste rensas regelbundet.
  • Tidskrävande program som ackumulerar cachelagrade data över tid.

C++-exempel

#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);

Exempel på 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-exempel

// 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);