In meiner aktuellen Implementierung habe ich die Anwendung so eingerichtet, dass sie eine benutzerdefinierte In-Memory-Caching-Lösung verwendet, wenn sie in der lokalen Entwicklungsumgebung (d. h. im DEBUG-Modus) ausgeführt wird, und Azure Redis Cache mit einer benutzerdefinierten Lösung verwendet Implementierung bei Bereitstellung im Release-Modus.
Mit den letzten Updates von .NET 9 ist mir aufgefallen, dass HybridCache jetzt verfügbar und auch mit .NET 8 kompatibel ist. Laut In der Dokumentation kombiniert HybridCache beide Ansätze (In-Memory- und verteilter Cache) mithilfe eines zweistufigen Caching-Systems:
- L1: Schneller In-Memory Cache
- L2: Verteilter Cache (z. B. Redis, SQL Server usw.)
Könnte jemand bitte ein Codebeispiel oder eine Referenzimplementierung für dieses Szenario teilen? Für Hinweise oder Best Practices wären wir sehr dankbar.
Hier ist der vorhandene Code:
Code: Select all
public static IServiceCollection AddCachingService(this IServiceCollection services)
{
var isCacheEnabed = FeatureManagerService.IsFeatureEnabled(nameof(FeatureFlags.EnableCaching));
if (!isCacheEnabed)
{
services.AddSingleton();
return services;
}
#if DEBUG
services.AddSingleton();
services.AddMemoryCache();
#else
services.AddSingleton();
#endif
return services;
}