Gerenciando dados armazenados em cache com DeleteStoredData

O mecanismo de Proteção do SDK da MIP armazena em cache licenças de proteção e dados de descoberta de serviço localmente para melhorar o desempenho e reduzir as chamadas de rede. Com o tempo, esse cache pode crescer, especialmente em aplicativos que processam grandes volumes de conteúdo protegido. Começando no SDK do MIP 1.18, o DeleteStoredData() método em ProtectionEngine fornece uma maneira de remover dados armazenados em cache programaticamente.

Visão geral

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

  • Excluir todos ou dados expirados: passe um booliano para excluir todos os dados armazenados em cache ou apenas entradas expiradas.
  • Excluir dados antes de um ponto de tempo: passe um ponto de tempo específico para remover todos os dados armazenados em cache antes desse ponto.

Isso é especialmente útil para:

  • Aplicativos de servidor ou daemon que processam grandes volumes de conteúdo protegido e precisam gerenciar o uso do disco.
  • Cenários de conformidade em que os dados de licença armazenados em cache devem ser limpos periodicamente.
  • Aplicativos de execução longa que acumulam dados armazenados em cache ao longo do tempo.

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

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