Zarządzanie danymi w pamięci podręcznej za pomocą metody DeleteStoredData

Silnik ochrony MIP SDK przechowuje w pamięci lokalnie licencje ochrony i dane odkrywania usług, aby zwiększyć wydajność i zmniejszyć liczbę wywołań sieciowych. W miarę upływu czasu ta pamięć podręczna może rosnąć, szczególnie w aplikacjach, które przetwarzają duże ilości chronionej zawartości. Począwszy od zestawu MIP SDK 1.18, DeleteStoredData() metoda on ProtectionEngine zapewnia sposób programowego usuwania buforowanych danych.

Przegląd

Interfejs API DeleteStoredData() jest dostępny na ProtectionEngine i oferuje dwa przeciążenia:

  • Usuń wszystkie lub wygasłe dane: przekaż wartość logiczną, aby usunąć wszystkie buforowane dane lub tylko wygasłe wpisy.
  • Usuń dane przed punktem czasu: przekaż określony punkt czasu, aby usunąć wszystkie dane buforowane przed tym punktem.

Jest to szczególnie przydatne w następujących celach:

  • Aplikacje serwera lub demona , które przetwarzają duże ilości chronionej zawartości i muszą zarządzać użyciem dysku.
  • Scenariusze zgodności, w których buforowane dane licencji muszą być okresowo czyszczone.
  • Długotrwałe aplikacje , które gromadziły dane buforowane w czasie.

Przykład języka 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);

Przykład języka 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);

Przykład języka 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);