В моей текущей реализации я настроил приложение на использование специального решения для кэширования в памяти при работе в локальной среде разработки (т. е. в режиме отладки) и на использование Azure Redis Cache с настраиваемым реализация при развертывании в режиме выпуска.
После недавних обновлений .NET 9 я заметил, что HybridCache теперь доступен и также совместим с .NET 8. Согласно документации, HybridCache сочетает в себе оба подхода (в памяти и распределенный кеш) с использованием двухуровневой системы кэширования:
- L1: быстрый в памяти кэш
- L2: Распределенный кеш (например, Redis, SQL Server и т. д.)
Может ли кто-нибудь поделиться примером кода или эталонной реализацией этого сценария? Мы будем очень признательны за любые рекомендации и рекомендации.
Вот существующий код:
Код: Выделить всё
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;
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... environmen