Add some fixes in cache settings

This commit is contained in:
Oscar Morales
2025-06-06 10:22:40 -06:00
parent 4103c4da8d
commit 852560d0e2
3 changed files with 40 additions and 12 deletions

View File

@@ -35,14 +35,29 @@ namespace Core.Blueprint.Caching
/// <param name="connectionString">The Redis connection string.</param>
/// <returns>An <see cref="IDatabase"/> instance representing the Redis cache database.</returns>
/// <exception cref="Exception">Thrown when the connection to Redis fails.</exce
async Task<IDatabase> InitializeRedisAsync(string connectionString)
public async Task<IDatabase> InitializeRedisAsync(string connectionString)
{
try
{
var configurationOptions = await ConfigurationOptions.Parse($"{connectionString}")
.ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? string.Empty;
ConfigurationOptions configurationOptions;
if (environment.Equals("Local", StringComparison.OrdinalIgnoreCase))
{
// Use simple local Redis config
configurationOptions = ConfigurationOptions.Parse(connectionString);
}
else
{
// Use Azure Redis config
configurationOptions = await ConfigurationOptions
.Parse(connectionString)
.ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
}
configurationOptions.AbortOnConnectFail = false;
var connectionMultiplexer = await ConnectionMultiplexer.ConnectAsync(configurationOptions);
_logger.LogInformation("Successfully connected to Redis.");