Administración de datos almacenados en caché con DeleteStoredData

El motor de protección del SDK de MIP almacena en caché las licencias de protección y los datos de detección de servicios localmente para mejorar el rendimiento y reducir las llamadas de red. Con el tiempo, esta caché puede crecer, especialmente en aplicaciones que procesan grandes volúmenes de contenido protegido. A partir del SDK de MIP 1.18, el DeleteStoredData() método en ProtectionEngine proporciona una manera de quitar los datos almacenados en caché mediante programación.

Visión general

La DeleteStoredData() API está disponible en ProtectionEngine y proporciona dos sobrecargas:

  • Eliminar todos o los datos expirados: pase un valor booleano para eliminar todos los datos almacenados en caché o solo entradas expiradas.
  • Eliminar datos antes de un punto de tiempo: pase un punto de tiempo específico para quitar todos los datos almacenados en caché antes de ese momento.

Esto es especialmente útil para:

  • Aplicaciones de servidor o demonio que procesan grandes volúmenes de contenido protegido y necesitan administrar el uso del disco.
  • Escenarios de cumplimiento en los que los datos de licencia almacenados en caché deben purgarse periódicamente.
  • Aplicaciones de larga duración que acumulan datos almacenados en caché a lo largo del tiempo.

Ejemplo de 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);

Ejemplo de 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);

Ejemplo de 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);