Belldandy
Un blog? Que es esto, 2004? Mi nombre es Andrea, y hace muchos años que trabajo en sistemas.
Logo

AWS .NET Distributed Cache Provider for Amazon DynamoDB

Publicado el 8 jul 2025, 10:51:59 —  Categorias: .NET, AWS

Recien salido del horno! AWS acaba de anunciar que estan disponibles las librerias para .NET para usar DynamoDB como distributed cache y tambien como session manager (hace unos meses habian "jubilado" la version anterior de la libreria de sesiones)

Para implementarla, hay que seguir 4 pasos (literal)

  1. Instalar la libreria AWS.AspNetCore.DistributedCacheProvider desde NuGet
  2. Implementar el codigo en el startup
builder.Services.AddAWSDynamoDBDistributedCache(options =>
{
options.TableName = "table_name";
options.PartitionKeyName = "id";
options.TTLAttributeName = "cache_ttl";
});
  1. Implementar el cache en tus metodos
    protected override async Task OnInitializedAsync()
    {
        // Cargar del cache
        var cachedForecastBytes = await DistributedCache.GetAsync("weatherForecast");
    
        // Si encontramos algo, convertirlo a bytes para evitar dolores de cabeza de encoding
        if (cachedForecastBytes != null)
        {
            CurrentForecast = ForecastConverter.FromBytes(cachedForecastBytes);
        }
        else
        {
            // No hay cache, buscar los datos (en este ejemplo usa el viejo y conocido Weather Forecast)
            CurrentForecast = WeatherPredictor.GenerateNewForecast();
            
            var options = new DistributedCacheEntryOptions()
            {
                AbsoluteExpiration = DateTimeOffset.UtcNow.AddHours(24)
            };
            
            // Guarda en el cache
            await DistributedCache.SetAsync("weatherForecast", 
                ForecastConverter.ToBytes(CurrentForecast), 
                options);    
        }
    }
  1. Listo! (obviamente tenes que tener configurado el credential chain, ya sea con un AccessKey/SecurityKey, un profile, rol para tu instancia EC2/Lambda, etc, y tiene que tener permiso de acceso de escritura para esa tabla en DynamoDb).

Me gustaria ver un analisis de performance puro de esto versus Redis. Obvio Redis va a ser mucho mas rapido, pero tenes que pagar por la instancia, o managearla vos. DynamoDb es serverless, y practicamente gratis.

AWS .NET Distributed Cache Provider for Amazon DynamoDB now Generally Available

Volver

Comentarios Recientes

No hay comentarios, porque no dejás alguno?

¡Comentario agregado con éxito!
Angel

Deja un comentario

(no se publica)