.net Core Caching Example

5 min read Jun 03, 2024
.net Core Caching Example

Mise en cache dans ASP.NET Core : Un exemple pratique

Introduction

La mise en cache est une technique essentielle pour améliorer les performances des applications web en réduisant le nombre d'accès aux bases de données ou à d'autres ressources coûteuses. ASP.NET Core fournit des outils intégrés pour implémenter facilement des stratégies de mise en cache efficaces. Dans cet article, nous allons explorer un exemple concret de mise en cache dans ASP.NET Core, en utilisant la mémoire comme cache.

Configuration du cache en mémoire

Pour commencer, nous devons configurer un cache en mémoire dans notre application ASP.NET Core. Cela peut être fait dans le fichier Startup.cs en ajoutant les services nécessaires :

public void ConfigureServices(IServiceCollection services)
{
    services.AddMemoryCache();
    // ... autres services
}

Cette ligne de code enregistre le service IMemoryCache dans le conteneur de services, qui sera utilisé pour gérer le cache en mémoire.

Implémentation de la mise en cache

Maintenant, nous pouvons implémenter la mise en cache dans notre code. Supposons que nous ayons une méthode GetProducts qui récupère une liste de produits depuis une base de données :

public class ProductsController : ControllerBase
{
    private readonly IMemoryCache _cache;

    public ProductsController(IMemoryCache cache)
    {
        _cache = cache;
    }

    [HttpGet]
    public IActionResult GetProducts()
    {
        // Clé du cache
        string cacheKey = "Products";

        // Vérifier si les données sont déjà en cache
        if (_cache.TryGetValue(cacheKey, out List products))
        {
            // Les données sont en cache, les retourner
            return Ok(products);
        }

        // Les données ne sont pas en cache, les récupérer depuis la base de données
        products = _productsRepository.GetProducts();

        // Stocker les données dans le cache
        _cache.Set(cacheKey, products, new MemoryCacheEntryOptions
        {
            // Définir la durée de vie du cache
            AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(5)
        });

        // Retourner les données
        return Ok(products);
    }
}

Dans cet exemple, nous utilisons la clé Products pour stocker les données dans le cache. La méthode TryGetValue vérifie si les données sont déjà en cache. Si oui, elles sont retournées directement. Sinon, les données sont récupérées depuis la base de données, stockées dans le cache avec une durée de vie de 5 minutes, puis retournées.

Conclusion

Cet exemple simple illustre les avantages de la mise en cache dans ASP.NET Core. En utilisant le cache en mémoire, nous pouvons améliorer significativement les performances de notre application en réduisant le nombre d'accès aux données coûteuses.

N'oubliez pas que la mise en cache est une technique puissante qui peut être appliquée à de nombreux scénarios. Avant d'utiliser la mise en cache, il est important d'identifier les parties de votre application qui peuvent bénéficier le plus de cette technique et de choisir la stratégie de mise en cache la plus appropriée.

La mise en cache en mémoire est idéale pour les données qui sont fréquemment accédées et qui changent rarement. Pour des données plus complexes ou qui changent souvent, vous pouvez envisager d'utiliser d'autres types de caches, tels que le cache distribué ou le cache de disque.

Avec ASP.NET Core, la mise en cache est une tâche simple et efficace. En utilisant les outils intégrés, vous pouvez facilement améliorer les performances de votre application et offrir une meilleure expérience utilisateur.

Related Post


Featured Posts