.net Core Redis Cache Example

6 min read Jun 03, 2024
.net Core Redis Cache Example

Améliorez les performances de votre application .NET Core avec Redis Cache

Redis est un système de stockage de données en mémoire qui offre une performance exceptionnelle pour les opérations de lecture et d'écriture. Il est souvent utilisé comme cache pour améliorer les performances des applications web. .NET Core offre une intégration transparente avec Redis, vous permettant d'utiliser facilement Redis comme cache.

Dans cet article, nous allons explorer un exemple concret de l'utilisation de Redis Cache avec une application .NET Core.

Configuration de Redis Cache dans .NET Core

Avant de commencer à utiliser Redis Cache, vous devez d'abord l'installer et le configurer dans votre application .NET Core.

  1. Installer le package NuGet : Commencez par installer le package NuGet StackExchange.Redis dans votre projet .NET Core. Vous pouvez le faire via la console de gestion de package dans Visual Studio ou en utilisant la commande dotnet add package StackExchange.Redis.

  2. Configurer le service Redis : Créez une classe de configuration pour votre service Redis. Cette classe devrait inclure les informations de connexion à votre serveur Redis, telles que l'hôte, le port et le mot de passe (le cas échéant).

public class RedisConfiguration
{
    public string Host { get; set; }
    public int Port { get; set; }
    public string Password { get; set; }
}
  1. Configurer le service Redis dans le fichier appsettings.json : Ajoutez les informations de configuration de votre service Redis dans le fichier appsettings.json.
{
  "Redis": {
    "Host": "localhost",
    "Port": 6379
  }
}
  1. Enregistrer le service Redis dans le conteneur de dépendances : Dans le fichier Startup.cs, enregistrez le service Redis dans le conteneur de dépendances.
public void ConfigureServices(IServiceCollection services)
{
    // ...
    services.AddStackExchangeRedisCache(options => 
    {
        options.Configuration = Configuration.GetConnectionString("Redis");
    });
    // ...
}

Utilisation de Redis Cache dans votre application

Maintenant que Redis Cache est configuré, vous pouvez commencer à l'utiliser dans votre application .NET Core.

  1. Injectez le service Redis Cache : Injectez le service IDistributedCache dans le constructeur de votre classe.
private readonly IDistributedCache _cache;

public MyClass(IDistributedCache cache)
{
    _cache = cache;
}
  1. Utiliser Redis Cache pour stocker et récupérer des données : Utilisez les méthodes SetStringAsync et GetStringAsync pour stocker et récupérer des données dans Redis Cache.
// Stocker une donnée en cache
await _cache.SetStringAsync("myKey", "myValue", new DistributedCacheEntryOptions
{
    AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(5)
});

// Récupérer une donnée du cache
string cachedValue = await _cache.GetStringAsync("myKey");

Exemple concret :

Imaginez une application web qui affiche la météo d'une ville. Pour chaque ville, l'application effectue un appel API externe pour récupérer les informations météorologiques. En utilisant Redis Cache, vous pouvez réduire le nombre d'appels API en stockant les informations météorologiques en cache.

public class WeatherService
{
    private readonly IDistributedCache _cache;
    private readonly IWeatherApi _weatherApi;

    public WeatherService(IDistributedCache cache, IWeatherApi weatherApi)
    {
        _cache = cache;
        _weatherApi = weatherApi;
    }

    public async Task GetWeather(string city)
    {
        string cacheKey = $"weather_{city}";
        WeatherData weatherData = await _cache.GetStringAsync(cacheKey);

        if (weatherData == null)
        {
            weatherData = await _weatherApi.GetWeatherData(city);
            await _cache.SetStringAsync(cacheKey, JsonConvert.SerializeObject(weatherData), new DistributedCacheEntryOptions
            {
                AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(10)
            });
        }

        return weatherData;
    }
}

Conclusion

Redis Cache est un outil puissant qui peut améliorer significativement les performances de votre application .NET Core. En utilisant Redis Cache, vous pouvez réduire les temps de réponse et améliorer l'expérience utilisateur. Dans cet article, nous avons exploré un exemple concret de l'utilisation de Redis Cache dans une application .NET Core. N'hésitez pas à expérimenter avec Redis Cache pour optimiser votre propre application et améliorer son efficacité.

Related Post


Featured Posts