Gestion des données mises en cache avec DeleteStoredData

Le moteur de protection du SDK MIP met en cache les licences de protection et les données de découverte de service localement pour améliorer les performances et réduire les appels réseau. Au fil du temps, ce cache peut croître, en particulier dans les applications qui traitent de grands volumes de contenu protégé. À compter du SDK MIP 1.18, la DeleteStoredData() méthode sur ProtectionEngine fournit un moyen de supprimer les données mises en cache par programmation.

Aperçu

L'API DeleteStoredData() est disponible sur ProtectionEngine et offre deux surcharges :

  • Supprimez toutes les données ou les données expirées : transmettez une valeur booléenne pour supprimer toutes les données mises en cache ou uniquement les entrées expirées.
  • Supprimer des données avant un point de temps : passez un point de temps spécifique pour supprimer toutes les données mises en cache avant ce point.

Cela est particulièrement utile pour :

  • Les applications serveur ou démon qui traitent de grands volumes de contenu protégé et doivent gérer l’utilisation du disque.
  • Scénarios de conformité où les données de licence mises en cache doivent être vidées régulièrement.
  • Applications de longue durée qui accumulent des données en cache avec le temps.

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

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

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