Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 23864|Répondre: 1

[.NET Core] ASP.NET Tutoriel d’utilisation du cache mémoire du MVC central

[Copié le lien]
Publié le 12-11-2019 à 16:16:36 | | | |
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)





Précédent:[Fenêtres] XMind 8 Édition Portable Autonome Auto-Utilisée XMind 8
Prochain:L’heure DateHeure dans .Net Core est incompatible avec l’heure Windows dans Linux Docker
 Propriétaire| Publié le 10-07-2024 à 18:13:17 |
ASP.NET Core 8 ajoute directement : constructeur. Services.AddMemoryCache() ;
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com