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)
- Instalar la libreria AWS.AspNetCore.DistributedCacheProvider desde NuGet
- Implementar el codigo en el startup
builder.Services.AddAWSDynamoDBDistributedCache(options =>
{
options.TableName = "table_name";
options.PartitionKeyName = "id";
options.TTLAttributeName = "cache_ttl";
});
- 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);
}
}
- 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!

Deja un comentario
