Управление кэшируемыми данными с помощью DeleteStoredData

Подсистема защиты пакета SDK MIP кэширует лицензии на защиту и данные обнаружения служб локально, чтобы повысить производительность и уменьшить сетевые вызовы. С течением времени этот кэш может расти, особенно в приложениях, обрабатывающих большие объемы защищенного содержимого. Начиная с пакета SDK для MIP версии 1.18 метод DeleteStoredData()ProtectionEngine предоставляет способ удаления кэшированных данных программным способом.

Обзор

API DeleteStoredData() доступен ProtectionEngine и предоставляет две перегрузки:

  • Удалите все или истекшие данные: передайте логическое значение, чтобы удалить все кэшированные данные или только просроченные записи.
  • Удалите данные до определённого момента времени: Передайте конкретную точку времени, чтобы удалить все данные, кэшированные до этого момента.

Это особенно полезно для:

  • Серверные или управляющие приложения , обрабатывающие большие объемы защищенного содержимого и необходимые для управления использованием дисков.
  • Сценарии соответствия требованиям , в которых кэшированные данные лицензий должны периодически очищаться.
  • Длительные приложения , которые накапливают кэшированные данные с течением времени.

Пример 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);

Пример 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);

Пример 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);