Lors du développement de projets, le cache est souvent utilisé pour mettre en cache certaines données selon leurs besoins métier, ou pour mettre en cache le contenu des requêtes de base de données afin de réduire la pression sur la base de données.
Caches mémoire couramment utilisés : System.Runtime.Caching / MemoryCache et Microsoft.Extensions.Caching.Memory
Microsoft a deux solutions, deux paquets NuGet différents pour la mise en cache, tous deux excellents ; selon la recommandation de Microsoft, ils préfèrent utiliser Microsoft.Extensions.Caching.Memory car ils s’intègrent mieux avec le cœur Asp .NET. Il peut être facilement injecté dans le mécanisme d’injection de dépendances d’Asp .NET Core.
Cet article utilise Microsoft.Extensions.Caching.Memory pour mettre en cache les données, abrégé MSCache, et Microsoft introduit :La connexion hyperlientérée est visible.
Note : Microsoft.Extensions.Caching.Memory est sécurisé pour les threads
Que peut faire le MSCache ?
- Soutien absolument expiré
- Support de l’expiration glissante (spécifier un temps, TimeSpan, est reporté s’il y a un temps mis en cache dans le temps spécifié, sinon il expirera)
- Rappel expiré
- Expiration personnalisée
Paramètres du cache MemoryCacheEntryOptions
- AbsoluteExpirationTemps d’expiration absolu, si nul, la condition est invalide
- ExpirationAbsolueRelativeToNowLe temps d’expiration absolu par rapport au temps actuel (en utilisant TimeSpan) est une condition nulle invalide
- Expiration glissanteFaites glisser le temps d’expiration
- ExpirationTokensDisponible pour personnaliser l’expiration du cache
- PostEvictionRappelsRappels d’invalidation du cache
- PrioritéPriorité des éléments du cache (l’ordre dans lequel le cache est absolument vidé lorsque le cache est plein)
- TailleReprésente la taille des données mises en cache, qui est généralement nulle dans le cache en mémoire
Commencez avec MSCache
Projet ASP.NET Core MVC Installation de la commande Nuget :
Lorsque vous utilisez, faites des paquets simples.
Interface :
Mise en œuvre :
Configuration d’injection de dépendances singleton
Les tests utilisent MSCache
Écrivez les données en utilisant l’expiration relative et l’expiration glissante et effectuez un test de lecture avec le code comme suit.
Code du contrôleur :
Écrire des données mises en cache :
Lire les données mises en cache :
Accès :La connexion hyperlientérée est visible.Après avoir défini l’expiration relative et l’expiration glissante, accéder à : https://localhost:44370/Home/Get Obtenez les données mises en cache comme suit :
En moins de 30 secondes, j’ai consulté le lien pour lire le cache plusieurs fois et j’ai constaté que l’expiration absolue expirait complètement après 30 secondes, mais je pouvais quand même la lire après avoir glissé l’expiration, comme montré dans la figure ci-dessous :
(Fin)
|