Introduction à la mise en cache dans ASP.NET

La mise en cache dans ASP.NET est la possibilité de stocker une page de site Web ou des données dans la mémoire pour un accès rapide. Dans ASP.NET, vous n'avez pas besoin de frapper le serveur pour la même réponse encore et encore. Stockez-le dans la mémoire de l'ordinateur et récupérez-le plus rapidement. Bien sûr, cela ne fonctionne qu'avec des données statiques car les données dynamiques varient avec chaque demande adressée au serveur.

Qu'est-ce que la mise en cache dans ASP.Net?

Le framework .Net fournit également la fonction de mise en cache afin d'améliorer les performances de votre application. Maintenant vous demandez, ASP .Net est utilisé pour créer des pages Web dynamiques dépendantes de l'utilisateur, alors comment met-il en cache le contenu?

Comprenons cela avec deux scénarios - d'abord où la page est le tableau de bord de l'utilisateur et ensuite où elle contient des listes de produits. Le scénario deux est indépendant de l'utilisateur, les produits sont les mêmes à chaque demande au serveur et ainsi la page entière peut être mise en cache. Encore une fois, le prix et la disponibilité des produits sont variables, ce qui peut être géré en mettant à jour le cache en temps opportun. Le premier scénario dépend de l'utilisateur, le tableau de bord d'un utilisateur peut ne pas du tout être similaire à un autre utilisateur. Mais il existe encore quelques composants tels que des images, des légendes, des en-têtes et des pieds de page qui peuvent être mis en cache pour améliorer les performances.ASP.Net permet aux développeurs de gérer efficacement les deux types de scénarios dans leur application.

Comment fonctionne la mise en cache dans ASP.Net?

Il est très important de comprendre le processus de mise en cache des pages Web ou des données ASP.Net. Pour comprendre cela, nous devons comprendre le processus de compilation .Net, afin de bien comprendre quand et où mettre en cache les pages pour des performances optimales. Le code de page ASP.Net est compilé en deux étapes, l'étape MSIL et l'étape JIT. À l'étape MSIL, le code de page écrit dans des langages de haut niveau est compilé dans Microsoft Intermediate Language. Cela se produit chaque fois que nous construisons notre projet. L'ensemble du site Web ou du projet est compilé dans MSIL chaque fois que nous construisons. À l'étape JIT, le code MSIL est ensuite converti en code machine natif par le compilateur Just In Time. Cela se produit lors de l'exécution de la page. Cependant, tout le projet n'est pas toujours converti en code natif. Seules les pages demandées par l'utilisateur sont converties de MSIL en code natif lors de l'exécution. Cela économise beaucoup de bande passante réseau et améliore les performances.

Maintenant, quel code devrions-nous mettre en cache, quand devrions-nous mettre en cache et où?

ASP.Net dispose d'un moteur complet dédié à la mise en cache. Il a des fonctionnalités telles que la dépendance temporelle, la dépendance des fichiers et des clés, l'expiration, le nettoyage des données, etc. Nous n'entrerons pas dans ces détails dans cet article. Ce que nous devons comprendre, c'est que nous pouvons mettre nos pages et nos données en cache dans deux emplacements pour améliorer les performances de notre application ASP.Net. Le premier emplacement est la section Page Cache résidant sur le serveur ASP.Net. Ce cache de sortie de page de magasin et les caches de fragments de page, essentiellement des pages ASPX. Chaque fois qu'une page principalement statique est demandée, une copie du code natif généré est stockée dans la section Cache de page. Cela économise le temps de compilation JIT lors des requêtes de page suivantes. Le deuxième emplacement est le cache de données. Cela stocke les données extraites des serveurs de données ou d'autres serveurs. Le stockage d'une copie de ces données permet d'économiser les futurs appels réseau vers les serveurs de base de données ou d'autres serveurs tiers. Quelques exemples de données mises en cache sont des données SQL Server, des données XML, des données JSON, des réponses d'API tierces, etc.

Types de mise en cache dans ASP.Net

1. Mise en cache de sortie de page

Mise en cache de sortie de page signifie mettre en cache la sortie complète de la page demandée. Chaque fois qu'un utilisateur demande une page ASP.Net, le compilateur JIT compile le code MSIL approprié et génère la sortie de code natif à envoyer en réponse au client. Cela signifie que chaque fois que la page est demandée, le compilateur JIT doit générer le code natif. Et si la page est de nature statique? Et si la sortie de la page est la même après chaque compilation? Nous pouvons économiser beaucoup de temps et de ressources de compilation si nous stockons le code natif généré dans le cache de page. Les demandes suivantes pour la même page peuvent être extraites du cache à la place. Ceci est appelé mise en cache de sortie de page. Pour obtenir la mise en cache de sortie de page, nous devons spécifier la directive OuputCache dans le code ASP.Net avec une durée en secondes.





2. Mise en cache des fragments de page

Nous avons vu comment mettre en cache une page statique. Et si la page est dynamique et varie selon les utilisateurs? Voici la mise en cache des fragments de page. Il permet à un développeur de mettre en cache des sections spécifiques de la page. Cela est utile lorsque vous souhaitez mettre en cache l'en-tête et le pied de page, qui sont généralement statiques pour chaque utilisateur. Pour obtenir la mise en cache des fragments de page dans ASP.Net, vous devez encapsuler le code de fragment dans un contrôle utilisateur distinct. Ajoutez ensuite la même directive OuputCache dans le contrôle utilisateur. Lorsque le contrôle utilisateur est chargé avec la page, une copie de celui-ci est conservée dans le cache. Ainsi, toutes les références ultérieures au même contrôle utilisateur sur la même page ou une page différente seraient extraites du cache.





3. Mise en cache des données

La mise en cache des données est le mécanisme de stockage des données requises, auxquelles on accède fréquemment, dans le cache. Cela peut considérablement améliorer les performances de l'application. En effet, la mise en cache des données permet d'économiser les appels aller-retour de la base de données, qui sont connus pour consommer le plus de temps. Lorsque des données fréquemment consultées et rarement modifiées sont mises en cache, le serveur extrait les données du cache au lieu d'effectuer des appels à la base de données. Cela peut également vous faire économiser de l'argent, car les appels de base de données aux serveurs de données hébergés dans le cloud vous facturent par demande. La mise en cache des données dans ASP.Net est un moteur à part entière en soi. Pour obtenir la mise en cache des données dans notre page Web ASP, nous devons utiliser l'objet Cache.

Cache("ProductName")="My Product";
Label1.Text= Cache("ProductName").ToString();

Pourquoi avons-nous besoin de la mise en cache dans ASP.Net?

Après avoir compris le processus de mise en cache dans ASP.Net, regardons quelques exemples pratiques où la mise en cache est implémentée dans des scénarios en temps réel.

  • Il y a une page informative, qui génère des rapports basés sur les données de la base de données. Les tables de la base de données sont actualisées toutes les quelques heures.
    La mise en cache de sortie de page peut être utilisée dans un tel scénario avec une durée du cache définie pour correspondre à la fréquence du travail d'actualisation des données.
  • Il y a une page qui montre plusieurs tableaux et données qui changent constamment. Cependant, les légendes et l'explication des données restent les mêmes.
    La mise en cache des fragments de page peut être utilisée pour mettre en cache la légende statique et les données d'explication uniquement.
  • Il existe un tableau de bord utilisateur qui est personnalisé par l'utilisateur et génère des graphiques et des graphiques sur les demandes des utilisateurs. Les données utilisées pour générer les graphiques et les graphiques changent rarement.
    La mise en cache des données peut être utilisée pour mettre en cache les données et générer dynamiquement des tableaux et graphiques demandés par l'utilisateur.

Conclusion

Ainsi, nous avons appris que la mise en cache fait beaucoup pour améliorer les performances de notre application ASP.Net. Il s'agissait d'un article de niveau d'introduction sur la mise en cache dans ASP.Net. Il y a plus à explorer. Il est recommandé d'en savoir plus sur la mise en cache pour améliorer encore les performances de l'application.

Article recommandé

Cela a été un guide pour la mise en cache dans ASP.NET. Nous discutons ici de l'introduction à la mise en cache dans ASP.NET et de son fonctionnement avec les types de mise en cache. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. ASP.NET Framework
  2. Contrôles de validation ASP.Net
  3. Carrière dans ASP.NET
  4. Questions d'entretiens chez .NET