Gestione dei dati memorizzati nella cache con DeleteStoredData

Il motore di protezione di MIP SDK memorizza nella cache le licenze di protezione e i dati di individuazione dei servizi in locale per migliorare le prestazioni e ridurre le chiamate di rete. Nel corso del tempo, questa cache può aumentare, soprattutto nelle applicazioni che elaborano grandi volumi di contenuto protetto. A partire da MIP SDK 1.18, il DeleteStoredData() metodo su ProtectionEngine fornisce un modo per rimuovere i dati memorizzati nella cache a livello di codice.

Informazioni generali

L'API DeleteStoredData() è disponibile in ProtectionEngine e fornisce due sovraccarichi:

  • Eliminare tutti i dati o scaduti: passare un valore booleano per eliminare tutti i dati memorizzati nella cache o solo le voci scadute.
  • Elimina dati prima di un punto di tempo: passare un punto di tempo specifico per rimuovere tutti i dati memorizzati nella cache prima di quel punto.

Ciò è particolarmente utile per:

  • Applicazioni server o daemon che elaborano grandi volumi di contenuto protetto e devono gestire l'utilizzo del disco.
  • Scenari di conformità in cui i dati delle licenze memorizzati nella cache devono essere eliminati periodicamente.
  • Applicazioni a esecuzione prolungata che accumulano dati memorizzati nella cache nel tempo.

Esempio di 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);

Esempio di 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);

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