Gerir dados em cache com DeleteStoredData

O motor de proteção do MIP SDK armazena em cache licenças de proteção e dados de descoberta de serviços localmente para melhorar o desempenho e reduzir chamadas de rede. Com o tempo, este cache pode crescer, especialmente em aplicações que processam grandes volumes de conteúdo protegido. A partir do MIP SDK 1.18, o DeleteStoredData() método em ProtectionEngine fornece uma forma de remover dados em cache programaticamente.

Descrição geral

A DeleteStoredData() API está disponível em ProtectionEngine e fornece duas sobrecargas:

  • Apague todos os dados ou dados expirados: Passe um booleano para eliminar todos os dados em cache ou apenas entradas expiradas.
  • Apagar dados antes de um ponto temporal: Ultrapassar um ponto temporal específico para remover todos os dados armazenados em cache antes desse ponto.

Isto é especialmente útil para:

  • Aplicações servidor ou daemon que processam grandes volumes de conteúdo protegido e precisam de gerir o uso do disco.
  • Cenários de conformidade em que os dados de licença em cache têm de ser eliminados periodicamente.
  • Aplicações de longa duração que acumulam dados em cache ao longo do tempo.

Exemplo em 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);

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

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